Шаблон имени файла битрикс что это
Шаблоны компонента делятся на системные и пользовательские:
- Системные шаблоны поставляются вместе с компонентом и лежат в подпапке templates папки компонента.
- Пользовательские шаблоны компонента — шаблоны, которые изменены под нужды конкретного сайта. Они должны лежать в папках шаблонов сайтов (т.е. в /local/templates/шаблон-сайта/ ).
При копировании шаблона компонента средствами системы, они будут расположены по следующему пути:
Шаблоны компонента определяются по именам. Шаблон по умолчанию имеет имя .default . Если в настройках параметра компонента не указывается имя шаблона, вызывается шаблон по умолчанию.
Шаблоны компонента могут быть папками или файлами. Если шаблону не требуется перевод на другие языки, собственные стили и прочие ресурсы, такой шаблон можно расположить в файле. В противном случае шаблон следует располагать в директории.
Контроль корректности
Очень важный набор опций.
Так как система работает с физическими сущностями, данными мы добавили ряд предохранителей, которые позволили бы остановить работу модуля в случае непредвиденных событий.
Работает данный предохранитель просто.
Как только счетчик совершенных ошибок превысит допустимый лимит,происходит автоматическая блокировка модуля.
Факт такой блокировки фиксируется в логе, далее можно посмотреть детали ошибок и принять меры.
Ошибки могут быть как незначительные (например мы подсунули системе некорректное имя для файла), так и критические (например, что то пошло не так и контроль операций обнаружил некорректное завершение операции переименования файла)
Т.е.
Мы постарались не просто выпустить наш модуль, но и снабдить его системой безопасности и контроля корректности выполнения операций.
А вы можете настроить предохранитель на нужный вам уровень безопасности.
Примеры
Настройки
Данная глава посвящена детальному описанию настроек модуля
Перейти к настройкам продукта вы можете через пункт
Сервисы - SEO оптимизатор названий картинок и файлов - Настройки оптимизатора
- Базовые настройки
- Авторежим
- Логирование
- Контроль корректности
Шаблон списка новостей
Файл шаблона /local/templates/blog/components/bitrix/news/blog/bitrix/news.list/.default/template.php . Этот шаблон используется как для показа всех статей блога, так и для показа статей выбранного раздела инфоблока. Странно, но в шаблоне не предусмотрен вывод заголовков и вывод подразделов текущего раздела инфоблока. Давайте это исправим и создадим файл result_modifier.php :
Теперь можно заняться шаблоном списка статей блога:
Шаблон простого компонента
Директория шаблона простого компонента может содержать следующие директории и файлы:
Пример файла .description.php :
Пример файла .parameters.php :
Правила оптимизатора
Правила оптимизатора служат для того, чтобы вы могли указать, какие свойства автоматичсеки попадают в поле действия модуля.
Для одного инфоблока вы можете создать только одно правило, которое будет указывать
Можно ли редактору будет оптимизировать
У групп инфоблоков
Картинки
Детальные картинки
У инфоблоков
Анонсные картинки
Детальные картинки
А также вы можете разрешить работать с картинками или файлами,хранящимися в свойствах инфоблока
Базовые настройки
Базовые настройки позволяют
В один клик включать или отключать работу модуля (Опция Остановить работу модуля)
Определить возможность использования ручного или автоматического режимов работы
При установке по умолчанию автоматическое изменение запрещено, разрешена только работа в ручном режиме
Автоматический режим работы
Если отключить запрет на автоматическую работу, то вы можете получить интересный механизм, который будет устанавливать названия файлов в соответсвии с символьными кодами элементов или групп автоматически.
По умолчанию автоматический режим работы выключен
Автоматический режим интересен тем, что модуль срабатывает либо при изменении и добавлении элемента инфоблока или группы инфоблока, либо только при их добавлении.
Это зависит от режима работы модуля.
По умолчанию модуль SEO оптимизатор имен и файлов включен на режим работы только с файлами новых элементов инфоблоков или групп инфоблоков.
Если модуль сработал, он проводит анализ всех файлов или картинок элемента, хранящихся в сущностях (картинки групп и детальные картинки групп, анонсные и детальные картинки элементов, а также свойства файлового типа), определенных правилом.
Внимание! Оптимизируются только те файлы и только тех инфоблоков, сущности которых разрешены правилами.
Хлебные крошки
Для полноты картины не хватает еще хлебных крошек. Давайте откроем шаблон сайта local/templates/blog/header.php и добавим компонент «Навигационная цепочка»:
- local/templates/.default/components/bitrix/breadcrumb/chain/template.php
- local/templates/.default/components/bitrix/breadcrumb/chain/style.css
Распечатаем массив $arResult :
Теперь можно использовать этот шаблон:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Зачем нужен модуль
Вы сталкивались с проблемой, когда "некрасивые" названия файлов надо превратить в более естественные или оптимизировать эти названия для SEO?
Вы работаете с платформой Битрикс?
Тогда вам может подойти особый инструмент! Наш модуль SEO оптимизатор названий картинок и файлов для Битрикс.
Вы можете применять данный модуль в следующих случаях.
Если перед вами уже стояла задача, как сделать названия картинок в Битрикс или названия файлов в Битрикс красивыми.
Если вы хотите, чтобы ваши файлы и картинки стали более интересны для поисковиков
Вот к примеру выдержка из рекомендаций google
Если вы хотите улучшить трафик своего сайта на Битрикс за счет оптимизации названий изображений.
Воспользуйтесь помощью этого с одной стороны простого, с другой многогранного модуля "SEO оптимизатор названий картинок и файлов для Битрикс"
Порядок работы и варианты использования
Для работы с модулем необходимо
1. Настроить модуль
Проверить настройки и установить необходимые уровни безопасности или режимы выполнения операций
См. информацию по настройкам
2. Создать хотя бы одно правило для какого-то инфоблока, указав, какими сущностями можно управлять
Далее вы можете
1. Работать с названиями в ручном режиме (см. статью о ручном управлении)
2. Работать с названиями в авторежиме (см. статью автоматическое управления названиями)
3. Использовать операцию групповой обработки файлов (пакетно изменение названий)
Как система ищет шаблон
- Система сначала ищет шаблон компонента в папке /local/templates/текущий-шаблон-сайта/components/ ;
- Если там шаблон не найден, то берётся папка /local/templates/.default/components/ ;
- Если шаблон не найден, то производится поиск среди шаблонов, поставляемых с компонентом
- Если это нативный компонент Битрикс, то поиск идет в папке /bitrix/components/bitrix/
- Если это самописный компонент, то поиск идет в папках /local/components/ivanov/ и /bitrix/components/ivanov/
- Если имя шаблона не задано, то ищется шаблон с именем .default .
- Если шаблон задан именем папки, то в случае простого компонента в этой папке ищется файл template.php , а в случае комплексного — page-name.php .
Если простой компонент вызывается в составе комплексного, то шаблон простого компонента сначала ищется в составе шаблона комплексного компонента, а потом (если не найден) в собственных шаблонах. Чтобы это правило работало, при вызове простых компонентов в составе комплексного не забывайте указывать четвертым параметром переменную $component , указывающую на родительский компонент:
Работа со значениями SEO свойств инфоблоков
Получение значений SEO для инфоблока с идентификатором $iblockId :
Получить значения SEO для раздела с идентификатором $iblockSectionId :
Получить значения SEO для элемента с идентификатором $iblockElementId :
Сбросить кэш SEO для инфоблока с идентификатором в переменной $iblockId :
Сбросить кэш SEO для раздела инфоблока с идентификатором в переменной $iblockSectionId :
Сбросить кэш SEO для элемента инфоблока с идентификатором в переменной $iblockElementId :
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Рядом с комплексным компонентом есть несколько простых, которые предназначены для решения одной задачи:
В настройках компонента оставляем шаблон .default , выбираем тип инфоблока и сам инфоблок, которые были предварительно созданы в панели управления. Отмечаем checkbox-ы «Включать раздел в цепочку навигации» и «Устанавливать статус 404». В принципе, больше можно ничего не менять, остальные настройки можно поменять позже. В результате файл /blog/index.php будет таким:
Сам компонент расположен в bitrix/components/bitrix/news . В папке templates видим три шаблона, и среди них .default , который мы выбрали. Теперь надо скопировать этот шаблон в папку шаблона сайта, чтобы адаптировать его под свои нужды. Для раздела «Блог» предусмотрен отдельный шаблон local/templates/blog , именно в эту папку и будем копировать. Для шаблона компонента используем имя blog :
После копирования шаблона компонента, файл /blog/index.php был перезаписан:
Из папок шаблонов все удаляем, оставляем только файлы шаблонов и файлы стилей:
- /local/templates/blog/components/bitrix/news/blog/bitrix/news.list/.default/template.php
- /local/templates/blog/components/bitrix/news/blog/bitrix/news.detail/.default/template.php
- /local/templates/blog/components/bitrix/news/blog/bitrix/news.list/.default/style.css
- /local/templates/blog/components/bitrix/news/blog/bitrix/news.detail/.default/style.css
Шаблон комплексного компонента
Шаблон комплексного компонента содержит все те же папки, что и шаблон простого компонента, и дополнительно:
- Шаблоны простых компонентов, которые входят в состав комплексного. Эти шаблоны располагаются в папках вида /namespace/component/ относительно папки шаблона комплексного компонента.
- Простые компоненты, входящие в состав комплексного, подключаются на шаблонах страниц комплексного компонента.
Авторежим
Пакет опций Авторежим позволяет тюнинговать тонкости автоматического управления названиями файлов
Система позволяет автоматические формировать названия из кода элементов инфоблока
Однако, если вдруг названия совпадудт - система может позволить небольшую добавку, которая обеспечит уникальность названия файла (в виде ID элемента).Для того, чтобы не произошло коллизий и не было повторных изменений названий существует опция, которая позволит разрешить переименование только для вновь добавляемых файлов
В случае, если автомат встретит названия файлов, установленные вручную, он ничего не станет делать с этим файлом. Но при необходимости мы можем заставить его включив опцию [Разрешить заменять названия файлов, установленных вручную]. Но хотя такую возможность в модуле мы сделали, мы не рекомендуем этого делать.
Также системой отслеживается и сам факт переименований. Сделано это с целью снижения риска повторных изменений названий. Но и этот режим можно отключить с помощью опции [Разрешить менять название, если оно уже было изменено ранее]
Логирование и контроль корректности
Для того, чтобы вы всегда могли видеть, что делает наш SEO оптимизатор или на какие препятствия он наталкивается, мы предусмотрели логирование.
И не менее интересным является автоматически контроль за допустимым уровнем ошибок.
К ошибкам мы относим все, что мешает выполнению задачи.
Особо критичные из них - относим к критичным.Контроль корректности позволяет сделать так, что при превышении допустимого лимита по количеству система автоматически заблокировалась. Это может оказаться полезным
Если произошла блокировка системы, то вы получите уведомление в логе операций
Подробно увидеть режим работы контроля активности вы можете в видеокасте
Групповая обработка файлов
Для массовой обработки элементов существует специальный инструмент
Групповая обработкаЗапуск обработки происходит по адресу
Сервисы - SEO оптимизатор имен файлов и картинок - Групповая обработкаДанный инструмент доступен ТОЛЬКО если разрешено редактирование всех элементов, и недоступен в режиме, когда автоматике запрещено изменение старых элементов.
Подробности работы групповой обработки мы показали в следующем видеокасте
ЧПУ (SEF)
Идем в настройки компонента и выставляем значения:
Теперь URL будут иметь вид:
Еще один вариант — использовать символьные коды (транслитерация названия) разделов и элементов инфоблока:
Теперь URL будут иметь вид:
Файл шаблона /local/templates/blog/components/bitrix/news/blog/bitrix/news.detail/.default/template.php
И добавим стили для страницы детального просмотра:
Постраничная навигация
Чтобы кастомизировать постраничную навигацию, надо скопировать один из шаблонов системного компонента system.pagenavigation . Все содержимое папки modern копируем в папку pager :
- bitrix/components/bitrix/system.pagenavigation/templates/modern
- local/templates/.default/components/bitrix/system.pagenavigation/pager
Удаляем файл стилей style.min.css и создаем файл .description.php :
И теперь нам надо отредактировать файл template.php . Распечатаем массив $arResult с помощью функции print_r() :
В нашем случае показывается список из 11 статей, по две статьи на страницу. Всего получается 6 страниц, но на последней странице только одна статья.
По поводу переменной bSavePage :
По поводу переменных nStartPage и nEndPage . Если текущая страница — третья ( NavPageNomer=3 ), а показывается пять ссылок ( nPageWindow=5 ), тогда nStartPage=1 , а nEndPage=5 :
Если текущая страница — четвертая ( NavPageNomer=4 ), а показывается пять ссылок ( nPageWindow=5 ), тогда nStartPage=2 , а nEndPage=6 :
По поводу переменных NavFirstRecordShow и NavLastRecordShow . У нас всего 11 статей на 6 страницах, по две статьи на страницу. Если текщая страница — третья, то NavFirstRecordShow=5 , а NavLastRecordShow=6 . На первой странице будут первая и вторая статьи, на второй странице — третья и четвертая, на третьей странице (текущей) — пятая и шестая.
Шаблон готов, давайте его применим. Для этого заходим в настройки компонента и выбираем в выпадающем списке наш шаблон pager :
Теперь постраничная навигация выглядит так:
Использование оптимизатора в связке с импортом из 1С
Логирование
Практически все действия, которые выполняет система можно логировать
происходит это автоматически
Но вы можете настроить время хранения лога операций, а также указать тип логирования (все операции или только ошибки)Вызов компонента
При вызове компонента указываются
- Пространство имен + имя компонента: namespace:component ;
- Имя шаблона, если пустая строка — подразумевается .default ;
- Параметры самого компонента
- Объект родительского комплексного компонента, если компонент подключается из шаблона комплексного компонента. В шаблоне комплексного компонента определена переменная $component , которая содержит объект этого комплексного компонента.
- Массив, содержащий дополнительные параметры отображения компонента:
- "HIDE_ICONS"=>"Y" — не показывать панель настройки компонента в режиме редактирования/разработки;
- "ACTIVE_COMPONENT"=>"N" — отключить компонент (код компонента не подключается).
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Содержимое включаемых областей хранится в отдельных PHP или HTML файлах. Области для страниц или разделов сохраняются с некоторым суффиксом. Например, в поставляемых файлах продукта в качестве обозначения включаемой области для страницы используется суффикс _inc (например, index_inc.php), а включаемая область для раздела сайта сохраняется в файле с именем sect и добавлением к нему суффикса (например, sect_inc.php).
Важно! Файл с включаемой областью должен быть сохранен в той же директории, что и страница, для которой он был создан. Включаемая область для раздела - в папке этого раздела.
Подключение областей в шаблоне дизайна сайта выполняется с помощью компонента Вставка включаемой области либо с помощью функции IncludeFile().
Суффикс, используемый для обозначения включаемых областей, определяется одноименной опцией в настройках компонента Вставка включаемой области. Компонент можно размещать не только в шаблоне дизайна, но и страницах сайта с условием, что суффикс файла должен быть задан отличным от того, который используется в шаблоне.
Один компонент может быть настроен только на один из вышеописанных вариантов отображения. Кроме того, они могут отображаться на страницах сайта в соответствии с любыми другими условиями. Например, только на главной странице сайта или только для авторизованных посетителей, и т.д.
Примечание: Тип включаемой области определяется опцией Показывать включаемую область.
Если компонент расположить в шаблоне дизайна сайта, то информация из файла будет выводиться на всем сайте. Установка параметра доступна только пользователю с правами edit_php.
Примечание: Подробное описание параметров компонента смотрите на странице пользовательской документации.
Размещение включаемой области
Для размещения включаемой области выполните следующее:
- Откройте для редактирования шаблон сайта или страницу в визуальном редакторе.
- Добавьте компонент Вставка включаемой области (bitrix:main.include) в шаблон сайта (или в тело страницы) и настройте его параметры.
Использование включаемых областей при интеграции в дизайн имеет ограничение. Оно связано с размером, отведенным под ячейку, в которой размещен компонент. Если вводимый текст, картинка, либо что-то еще по своим размерам больше, чем отведенное компоненту место, то дизайн «поедет», то есть исказится.
Использование включаемых областей позволяет управлять не только текстом. Можно поместить в эту область картинку вместо текста (или компонент Случайное фото) и получить индивидуальный вид каждого раздела. При этом индивидуальность будет «динамическая», изменяемая.
Создание и редактирование включаемой области
Создание включаемых областей может быть выполнено:
- из административного раздела в Менеджере файлов ( Контент > Структура сайта > Файлы и папки ), создав файл с соответствующим именем;
- из публичного раздела сайта в режиме правки. В тех местах, где предполагается вывод включаемых областей, будут показаны иконки для быстрого перехода к созданию этих областей.
Примечание: Файл включаемой области будет создан и назван в соответствии указанным в настройках компонента суффиксом - для опции для раздела, или именем файла - для опции из файла.
Аналогично перейти к редактированию включаемых областей можно:
-
непосредственно из публичного раздела сайта в режиме правки;
Внимание! Если в качестве включаемой области будет использоваться вариант из файла, то необходимо проверить, что файл подключен из системы, а не вызван напрямую. Делается это с помощью следующей строки: