Загрузка и поиск файлов
Урок
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
6
если есть полный доступ, можно скачать сайт к себе и в notepad++ сделать поиск по папкам/файлам на предмет: “</select>
“
думаю, что код захвата данных с базы находится между атрибутами <select></select>
Всплывающие окно может быть из js скрипта, можно поискать по вариациям display = "none"
или display
для поиска кода внутри js.
В любом случае нужно искать в исходном коде, а не в сгенерированном в браузере.
ответ дан 2 сен 2017 в 5:42
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. Часть из них вы можете найти в настройках модуля интранет, другая часть зашита в ядро продукта
Не расстраивайтесь, если вашего формата в списке нет, вы можете использовать или даже написать любое приложение, которое по пути к файлу будет проводить индексацию документа, т.е. возвращать его описание или содержимое.
Из хороших идей, можно сделать:
- 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 формата выводит его содержимое в консоль 🙂
Какие-то вредные советы понаписали. Потом заходишь на сайт, а там все оптимизации выключены, потому что какому-то разработчику несколько лет назад так удобно было, видите ли.
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 |
допустим слово на главной странице в тексте О нас разве это делается не через админку?
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.
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 |
я не хочу редактировать элемент.
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 |
т.е. в самом битриксе нет изначально возможности поиска по ффайлам, понятно, спасибо. Это разве не стандартный поиск? Миниатюры
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 |