Как найти файл в bitrix

Загрузка и поиск файлов

Урок
18
из
293

Сложность урока:

1 уровень – интуитивно все понятно из интерфейса, но почитать стоит.


1 из 5

Дата изменения:
12.02.2023

Просмотров:
62359

Недоступно в лицензиях:

Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).


Ограничений нет

  Загрузка файлов

Для

загрузки файлов






перейдите с помощью

Менеджера файлов

Некоторые операции по работе со структурой можно выполнить только из административной части. В этом случае контент-менеджер может воспользоваться Менеджером файлов, который предоставляет широкие возможности по работе с файлами и папками, а принципы его работы повторяют знакомый всем проводник Windows.

Подробнее в курсе Контент-менеджер.




в папку, в которую нужно загрузить файл и нажмите кнопку на контекстной панели Менеджера файлов. Откроется сама форма загрузки файлов:

Нажмите на рисунок, чтобы увеличить

Число загружаемых файлов неограниченно.

Примечания:

  • По умолчанию в настройках системы установлено ограничение на размер загружаемого файла в 2 мегабайта. Если есть необходимость изменить это ограничение, то это можно сделать в файле php.ini в параметре upload_max_filesize.
  • Система поддерживает использование файлов с именами как на латинице, так и на кириллице, без ограничений по регистру. Недопустимо только использование спецсимволов: / ? * < > ” ‘.

  Поиск файлов

В рамках файловой структуры есть механизм поиска файлов, размещающийся на контекстной панели в виде кнопки

Поиск




. Откроется окно поиска:

Поиск ищет как по имени, так и по содержимому. Ограничения можно наложить следующие:

  • По папке или сайту
  • Дате изменения;
  • Размеру файла;
  • Регистру.

Кнопка Подсчёт покажет общее число файлов, удовлетворяющих указанным условиям поиска.

С помощью поиска можно произвести замену слова или фразы в файле. Для этого воспользуйтесь закладкой Замена.

Добрый день! Есть сайт на CMS Bitrix, написанный на PHP. На главной странице есть всплывающее окно для заполнения параметров обратного звонка. Один из заполняемых параметров окна имеет выпадающее меню вариантов. Я администратор и у меня есть доступ к структуре сайта по FTP (Mozilla). В консоли панели разработчика Chrome я нашел ту часть кода, где нужно поменять выпадающие позиции (они перечислены в теле кода). Но я не могу найти исходный файл с этим кодом в структуре файлов. Обратиться к разработчику нет возможности.
Поиск через меню консоли не дал результатов.
Подскажите, где в структуре сайта стоит поискать: тип файла, возможные названия.
С PHP, HTML, JS знаком. Привожу фрагмент кода из консоли.**введите сюда описание изображения**

задан 28 авг 2017 в 11:53

user265072's user avatar

6

если есть полный доступ, можно скачать сайт к себе и в notepad++ сделать поиск по папкам/файлам на предмет: “</select>

думаю, что код захвата данных с базы находится между атрибутами <select></select>

Всплывающие окно может быть из js скрипта, можно поискать по вариациям display = "none" или display для поиска кода внутри js.

В любом случае нужно искать в исходном коде, а не в сгенерированном в браузере.

ответ дан 2 сен 2017 в 5:42

Leo Tahk's user avatar

2

Вы замечали что иногда поиск по документам на диске (и не только) в коробочной версии Битрикс24 не всегда ищет по содержимому, а в последних версиях он вообще не ищет по содержимому документов? А уж об индексации pdf/jpg и других форматов так и вообще можно забыть. Нет, на самом деле это немножечко не так и эта особенность поддается корректировке.

Заинтересовались? Поехали!

Как устроен поиск в Битриксе?

Исторически в платформе всегда использовался поиск средствами модуля Поиск. Когда создается элемент инфоблока специальный механизм применяется к элементу и собрает с него поисковый контент, который токенизирует и складывает в отдельные таблицы b_search* и когда пользователь начинает вводить поисковый запрос, он разбивается на токены и ищется в этих таблицах. Время шло и со временем поиск перестал удовлетворять по критериям скорости и объема информации. Так поиск получил возможность интеграции с sphinx.

Для 1С-Битрикс: управления сайтом такого варианта вполне хватало: был либо поисковый запрос либо параметры фильтрации, однако пользовательский сценарий работы в Битрикс24 подразумевает использование обоих механизмов, что делает текущие варианты не эффективным. Разработчики Битрикс24 решили перейти на фильтрацию с полнотекстовым поиском в MySQL что дает возможность одновременного использования фильтрации и поиска.

Презентацию можно сказать по ссылке: скачать презентацию

Таким образом каждый элемент битрикс24 в своей таблице (или отдельной таблице) содержит некоторый столбец с текстом, по которому выполняется полнотекстовый поиск. Когда вы создаете сделку/контакт/загружаете файл в соответствующей таблице в этот столбец записывается конкатенация параметров и когда производится поиск то он осуществляется именно по этому столбцу.

Как включить индексацию диска?

Для базовой настройки индексации достаточно активировать эту возможность в настройках модуля Диск.

Админ.панель - Настройки - Настройки продукта - Настройки модулей - Диск
Админ.панель – Настройки – Настройки продукта – Настройки модулей – Диск

Достаточно простое действие: отмечаем нужные опции, задаем максимальный размер документа и переходим в публичную часть общего диска.

Индексация документов в действии
Индексация документов в действии

Не сказать что процесс длительный, но может занимать несколько дней. Зависит конечно же от размера ваших документов и того где они находятся.

Например для 10 маленьких локальных документов это может быть 10 минут, а для тысяч документов расположенных в облаке этот процесс может растянуться на недели или даже месяцы.

Как именно индексируются документы?

Если с текстовыми полями все более менее понятно: берем значения и пишем в поле, то как происходит извлечение информации из файлов?

При включенной индексации содержимого файлов для каждого загружаемого файла последовательно вызывается обработчик события OnSearchGetFileContent модуля search. Результат первого обработчика и будет является контентом документа (остальные обработчики даже не будут вызваны). Для файлов таким обработчиком внезамно является модуль Интранет (на событие подписан класс CIntranetSearchConverters с его одноименным методом OnSearchGetFileContent, найти который вы можете по пути: /bitrix/modules/intranet/tools/search.php)

Думаю не нужно объяснять, что для работы с MSOffice форматами, выбором языка программирования PHP будет не лучшим решением. Разработчики битрикса это в целом тоже понимают, поэтому для извлечения контента они используют внешние команды.

Что такое внешняя команда?

Это любое linux приложение вызванное через php-функцию exec от пользователя под которым запущен apache, которое получает на вход путь к документу и выводит на экран текстовое содержимое.

Например для конвертации doc-формата используется linux приложение catdoc. Часть из них вы можете найти в настройках модуля интранет, другая часть зашита в ядро продукта

Из коробки помимо перечисленных форматов индексируются так же: docx, odt, odp, ods, rtf, xlsx, pptx.
Из коробки помимо перечисленных форматов индексируются так же: docx, odt, odp, ods, rtf, xlsx, pptx.

Не расстраивайтесь, если вашего формата в списке нет, вы можете использовать или даже написать любое приложение, которое по пути к файлу будет проводить индексацию документа, т.е. возвращать его описание или содержимое.

Из хороших идей, можно сделать:

  • ML-парсер изображений (писать в духе поисковых систем: “на изображении человек”
  • Распознавать текст на картике
  • Проводить распознавание речи для аудиофайлов

Не устраивает качество?

И хотя в битрикс24 имеется стандартные способы индексации, всегда можно их изменить. Например, меня не очень устраивает стандартная индексация docx файла: она медленная и не полная. Я обычно в таких случаях ставлю на linux-овую виртуальную машину libreoffice (последняя, на момент работ была 6.4) и прописываю доп. строчку в настройках модуля Интранет:

Расширение: docx

Внешняя команда: libreoffice6.4 –headless –convert-to “txt:Text (encoded):UTF8” # FILE_NAME# –cat –outdir /tmp

Каталог программы: /usr/bin

P.S. Между # и FILE_NAME# не должно быть пробела – это дзен ставит хеш-теги

Только убедитесь, что выполнение команды под пользователем bitrix на файле docx формата выводит его содержимое в консоль 🙂

Какие-то вредные советы понаписали. Потом заходишь на сайт, а там все оптимизации выключены, потому что какому-то разработчику несколько лет назад так удобно было, видите ли.

624ed49f84ec3272032369.png

1. В этих оптимизированных файлах написано, откуда были взяты исходники.
2. Часто подключаются минифицированные файлы, но править надо не минифицированные. В папке можут лежать файлы style.css и style.min.css. Правите style.css, сохраняете. Минифицируете его и сохраняете минифицированную версию в style.min.css.
3. Если файлы подключаются с помощью API Битрикс, то кеш сам сбрасывается при изменении файлов. Если у кого-то не сбрасывается и они делают это вручную, то они просто не умеют подключать стили.
Как надо:

use BitrixMainPageAsset; 

 Asset::getInstance()->addJs('/путь/скрипт.js'); 
 Asset::getInstance()->addCss('/путь/стиль.css');

4. Проще всего искать нужный файл с помощью утилиты grep (работает на линукс, в винде тоже можно поставить)
Если начнете искать по всему сайту, то будет очень долго. Стили чаще всего лежат в папке шаблона, там и надо начинать поиск.
Видите например на сайте элемент <div class="any_selector"></div>. К нему хотите стили найти.

В терминале вводите:

cd local/templates/my_template
grep -r "any_selector" . --include=*.css

Вам выдаст список файлов, где есть упоминание any_selector

Можете за одно почитать про инструменты хрома, там и файлы css можно найти и js
https://r-morozov.ru/javascript/instrumenty-debaga…)

1 / 1 / 0

Регистрация: 15.01.2013

Сообщений: 23

1

04.02.2013, 14:41. Показов 57611. Ответов 13


Студворк — интернет-сервис помощи студентам

Хочу отредактировать допустим слово на главной странице в тексте О нас.Приходится искать где этот файл.Но это просто так.как примерно понимаю что раз главная стр .то и файл в главной папке about/
Но становиться просто страшно когда надо отредактировать в списке объектов один из пунктов описания обекта…Ищу и по логике ..ищу и по просмотру элемента…и по просмотру кода..Уходит много времени.
Частично своими руками сделала карту ,где какой код спрятан..но еще есть множество папок и в них не маленькое кол подпапок..
Если кто знает ,как помочь быстро найти файл где спрятан нужный кусок кода,Буду Очень благодарна



0



637 / 415 / 27

Регистрация: 03.11.2009

Сообщений: 1,855

04.02.2013, 15:45

2

Цитата
Сообщение от Roksik
Посмотреть сообщение

допустим слово на главной странице в тексте О нас

разве это делается не через админку?



0



1 / 1 / 0

Регистрация: 15.01.2013

Сообщений: 23

04.02.2013, 16:32

 [ТС]

3

t1m0n, ясно что через админку…)))но там море и море папок подпапок..и файлов…ищу быстрый способ найти файл



0



438 / 406 / 112

Регистрация: 15.02.2012

Сообщений: 1,749

05.02.2013, 10:24

4

проблема у вас заключается в том что вы не представляете себе структуру и управление. но если сайт сделан правильно, то вам и не нужно знать ее структуру – в публичной части переходите в режим редактирования, наводите на область которую хотите отредактировать и она выделяется в рамочку над которой появляется мини меню. дальше через это меню делаете редактировать. если это просто текст на странице, то в редакторе, если это компонент динамического вывода информации, то изменить элемент или шаблон компонента.

а так структура сайта такова: если информация статична то заходите в раздел/файл в котором она есть например about/index.php.
если динамически подгружается информация, то она хранится в инфоблоках в админке. например информация о товарах
если нужно подправить какое-то отображение информации в динамичком контенте – это делается в шаблоне /bitrix/template/тут название шаблона сайта или ,default/component/далее что за компонент используется например news.list



0



1 / 1 / 0

Регистрация: 15.01.2013

Сообщений: 23

05.02.2013, 14:01

 [ТС]

5

Спасибо,я реально никак не могу понять.То ,что касательно рамочек красных да знаю)



0



6 / 6 / 0

Регистрация: 29.10.2010

Сообщений: 523

23.11.2017, 18:04

6

а если я хочу найти, в каком файле встречается такой-то код. что делать в таком случае?



0



8 / 16 / 2

Регистрация: 15.06.2015

Сообщений: 247

24.11.2017, 04:53

7

Цитата
Сообщение от Дмитрий 🙂
Посмотреть сообщение

а если я хочу найти, в каком файле встречается такой-то код. что делать в таком случае?

как вариант, смотришь исходный код элемента, который нужно отредактировать. Находишь там класс id или что-то другое более менее уникальное. и потом поиск по содержимому файла.



0



6 / 6 / 0

Регистрация: 29.10.2010

Сообщений: 523

24.11.2017, 09:14

8

я не хочу редактировать элемент.
я хочу найти файл, в котором содержится такой-то php-код



0



2215 / 1145 / 228

Регистрация: 16.03.2008

Сообщений: 5,479

Записей в блоге: 2

24.11.2017, 10:12

9

Ну тогда изучить документацию битрикс. Вся структура четкая и понятная.А также использовать для работы нормальнуюIDE типа PHPShtorm или NetBeans. Где можно “гулять” по коду кликами мыши. или воспользоваться там же обычным поиском (файлы проекта индексируются).

Либо вообще в вашей же операционной системе есть средства поиска по файлам?

А так же, в какой то мере, может помочь модуль Живое описание АПИ



0



6 / 6 / 0

Регистрация: 29.10.2010

Сообщений: 523

24.11.2017, 10:39

10

т.е. в самом битриксе нет изначально возможности поиска по ффайлам, понятно, спасибо.



0



8 / 16 / 2

Регистрация: 15.06.2015

Сообщений: 247

24.11.2017, 10:44

11

Цитата
Сообщение от Дмитрий 🙂
Посмотреть сообщение

т.е. в самом битриксе нет изначально возможности поиска по ффайлам, понятно, спасибо.

Это разве не стандартный поиск?

Миниатюры

Как быстро найти в каком .php файле спрятан нужный код?1СБитрекс
 



1



6 / 6 / 0

Регистрация: 29.10.2010

Сообщений: 523

24.11.2017, 10:48

12

а как вы сюда попали?



0



8 / 16 / 2

Регистрация: 15.06.2015

Сообщений: 247

29.11.2017, 07:51

13

Цитата
Сообщение от Дмитрий 🙂
Посмотреть сообщение

а как вы сюда попали?

выбрал папку и нажал Ctrl+F



2



6 / 6 / 0

Регистрация: 29.10.2010

Сообщений: 523

29.11.2017, 09:26

14

спасибо



0



Добавить комментарий