Онлайн-руководство разработчика NetCat
Netcat 7 — нейросеть в вашем сайте!
Подробнее
Модуль «Поиск по сайту» 14.2.1Начало работы с модулем 14.2.2Язык запросов 14.2.3Способы хранения индекса 14.2.4Интерфейс модуля в панели управления сайтом 14.2.5Области индексирования 14.2.6Области HTML-страниц 14.2.7Области поиска на сайте 14.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 14.2.9Правила индексирования 14.2.10Постановка задачи переиндексирования в очередь 14.2.11Интеграция модуля в макеты дизайна сайта 14.2.12Простая форма поиска 14.2.13Расширенная форма поиска 14.2.14Вывод результатов поиска 14.2.15Стилизация списка подсказок 14.2.16Расширенные настройки 14.2.17Разработка расширений модуля 14.2.18Обзор архитектуры модуля 14.2.19Обработчики документов различных типов 14.2.20Текстовые фильтры 14.2.21Анализаторы текста 14.2.22Корректировщики запросов 14.2.23Подключение других поисковых систем 14.2.24Решение проблем с поиском 14.2.25Решение проблем с индексированием 14.2.26Справочник API

Альтернативные шаблоны

Альтернативные шаблоны компонента не содержат своих полей, а только осуществляют вывод объектов из родительского компонента. Таким образом, функционал шаблонов позволяет осуществлять вывод одних и тех же данных, но в разном оформлении и с разными условиями. Это может быть полезно в случаях:

  1. Объекты одного типа данных надо выводить по-разному в разных ситуациях, например, записи компоненты "Персоны", относящиеся к руководству, в полной форме, а записи линейных сотрудников того же компонента - только в виде ФИО.
  2. Необходимо вывести данные из другого блока, но в другом шаблоне. 

Для задания шаблона компонента в выводе функции nc_objects_list(), следует в третьем параметре данной функции передать переменную nc_ctpl=ZZ, где ZZ — идентификатор шаблона компонента, например:

nc_objects_list(XX, YY, "&nc_ctpl=ZZ")

Также выбор шаблона для блока доступен в режиме редактирования и в панели администрирования раздела (вкладка "Инфоблоки").

Типы шаблонов 

При создании шаблона компонента можно выбрать его тип. В настоящее время существует несколько типов шаблонов:

  • Обычные шаблоны компонента используются для вывода объектов компонента в различных местах на сайте в нужном виде.
     
  • Шаблон компонента «для титульной страницы» обычно используется при выводе компонента на титульной странице или в блоках макета дизайна.
     
  • Шаблоны компонента для «режима администрирования» используются при просмотре раздела в системе администрирования. К примеру, если у вас есть компонент «Новости», прикрепленный к разделу «Новости компании», а у него есть шаблон компонента для «режима администрирования», то при просмотре через систему администрирования объекты будут выводиться именно так, как задано в шаблоне компонента. Если шаблона компонента для «режима администрирования» нет, то будет использоваться сам компонент «как есть».
     
  • Шаблоны компонента для «режима редактирования» используются при работе через фронт-офис (чтобы попасть во фронт-офис, достаточно зайти по адресу http://адрес_сайта/netcat/). Работа во фронт-офисе так же называется «режим редактирования»).
     
  • Шаблон компонента «RSS» используется для организации новостных лент на сайте. Если такой шаблон есть, и в настройках компонента раздела включено использование rss, то по адресу:
    http://ваш_сайт/раздел1/../разделN/КлючевоеСловоКомпонента.rss
    будет выводиться новостная лента.
     
  • Шаблон компонента «XML-выгрузка» используется для организации xml-выгрузок объектов. Этот шаблон будет выводиться на странице вида 
    http://ваш_сайт/раздел1/../разделN/КлючевоеСловоКомпонента.xml
     
  • Шаблон компонента «для корзины удалённых объектов» определяет внешний вид объектов, помещённых в корзину (если она включена в настройках системы).
     
  • «Адаптивный» и «Мобильный» шаблоны использовались в прошлых версиях системы и сейчас уже не имеют смысла; они сохранены для совместимости с предыдущими версиями системы.
     
  • Шаблон компонента «множественное редактирование».

Создание и редактирование шаблонов компонента

Для создания шаблона компонента необходимо в системе администрирования перейти на нужный компонент и нажать «Добавить шаблон» (кнопка находится снизу слева). После этого вы увидите параметры создаваемого шаблона компонента.

В поле «Тип шаблона компонента» выберите нужный (все типы подробно рассмотрены выше: обычный, режим редактирования, режим администрирования, rss, xml, для титульной страницы).

Вы можете создать «пустой» шаблон компонента: как на основе уже существующего компонента, так и автоматически, системой. В последнем случае система  сама сформирует шаблон компонента; например, при создании шаблона типа «rss» автоматически появятся обязательные теги и предполагаемые поля.

Редактировать шаблоны компонента можно точно так же, как и сами компоненты. В дереве слева под каждым компонентом отображаются его шаблоны (если таковые имеются):

Использование шаблонов компонента

Шаблоны типа «RSS» и «XML» автоматически применяются к страницам, адрес которых имеет вид:

http://ваш_сайт/раздел1/../разделN/КлючевоеСловоКомпонента.rss

и

http://ваш_сайт/раздел1/../разделN/КлючевоеСловоКомпонента.xml.

(по ссылке приведен адрес отображения списка объектов компонента, только оканчивается он не на html, как обычно, а на rss и xml). При заходе на такую страницу макет дизайна не подгружается.
Если пользователь заходит на такую страницу, но соответствующего шаблона компонента нет, то он увидит ошибку 404 «Страница не найдена».

Шаблоны типа «режим администрирования» и «режим редактирования» автоматически подгружаются в системе администрирования и во фронт-офисе соответственно. Если соответствующих шаблонов нет, то будет использован сам компонент «как есть».

Шаблон компонента «титульная страница» будут использованы, если вызвать список объектов с помощью функции nc_objects_list с третьим параметром nc_title=1:

<?= nc_objects_list(12,30, “nc_title=1”)?>

Шаблон компонента «корзина удаленных объектов» используется при выводе списка удаленных объектов.

При создании или редактировании компонента в разделе можно указать, какой шаблон компонента будет использоваться. Если шаблон не будет задан, то будет использоваться сам компонент.

Наследование поля в шаблоне от компонента.

В шаблонах можно использовать следующую запись

<? require_once $nc_parent_field_path; ?>

С её помощью в соответствущее поле будут наследоваться значения из компонента.

Описание проекта