На основе каких файлов строится цепочка навигации
Навигационная цепочка — это ряд ссылок на разделы сайта, к которым относится найденная страница. Она помогает пользователю Поиска быстро оценить объем информации на сайте или тип контента, и быстро перейти в нужный раздел.
Навигационная цепочка формируется автоматически.
Для распознавания структуры сайта и выбора названий используется алгоритм быстрых ссылок. Как для быстрых ссылок, рекомендации для вебмастера заключаются в том, чтобы делать более понятную и простую структуру сайта.
Чтобы навигационные цепочки сформировались, должны быть выполнены следующие условия:
Навигационные цепочки строятся только для крупных сайтов.
Навигационные цепочки строятся строго по каталогам: дерево разделов сайта должно соответствовать URL. Для адресов вида /index.php?cat=7873&item=6787 цепочки не формируются, но они построятся для адресов вида /cat7873/item6787 .
Для выбора названий используется содержимое элемента title и тексты ссылок на страницу. Рекомендуем давать короткое название странице в элементе title и в ссылках. Приветствуется, если содержимое элемента title и название ссылки совпадают.
Навигационная цепочка — это ряд ссылок на разделы сайта, к которым относится найденная страница. Она помогает пользователю Поиска быстро оценить объем информации на сайте или тип контента, и быстро перейти в нужный раздел.
Навигационная цепочка формируется автоматически.
Для распознавания структуры сайта и выбора названий используется алгоритм быстрых ссылок. Как для быстрых ссылок, рекомендации для вебмастера заключаются в том, чтобы делать более понятную и простую структуру сайта.
Чтобы навигационные цепочки сформировались, должны быть выполнены следующие условия:
Навигационные цепочки строятся только для крупных сайтов.
Навигационные цепочки строятся строго по каталогам: дерево разделов сайта должно соответствовать URL. Для адресов вида /index.php?cat=7873&item=6787 цепочки не формируются, но они построятся для адресов вида /cat7873/item6787 .
Для выбора названий используется содержимое элемента title и тексты ссылок на страницу. Рекомендуем давать короткое название странице в элементе title и в ссылках. Приветствуется, если содержимое элемента title и название ссылки совпадают.
Навигационная цепочка — это ряд ссылок на разделы сайта, к которым относится найденная страница. Она помогает пользователю Поиска быстро оценить объем информации на сайте или тип контента, и быстро перейти в нужный раздел.
Для распознавания структуры сайта и выбора названий используется алгоритм быстрых ссылок. Как для быстрых ссылок, рекомендации для вебмастера заключаются в том, чтобы делать более понятную и простую структуру сайта.
Чтобы навигационные цепочки сформировались, должны быть выполнены следующие условия:
Навигационные цепочки строятся только для крупных сайтов.
Навигационные цепочки строятся строго по каталогам: дерево разделов сайта должно соответствовать URL. Для адресов вида /index.php?cat=7873&item=6787 цепочки не формируются, но они построятся для адресов вида /cat7873/item6787 .
Для выбора названий используется содержимое элемента title и тексты ссылок на страницу. Рекомендуем давать короткое название странице в элементе title и в ссылках. Приветствуется, если содержимое элемента title и название ссылки совпадают.
Навигационная цепочка — это ряд ссылок на разделы сайта, к которым относится найденная страница. Она помогает пользователю Поиска быстро оценить объем информации на сайте или тип контента, и быстро перейти в нужный раздел.
Для распознавания структуры сайта и выбора названий используется алгоритм быстрых ссылок. Как для быстрых ссылок, рекомендации для вебмастера заключаются в том, чтобы делать более понятную и простую структуру сайта.
Чтобы навигационные цепочки сформировались, должны быть выполнены следующие условия:
Навигационные цепочки строятся только для крупных сайтов.
Навигационные цепочки строятся строго по каталогам: дерево разделов сайта должно соответствовать URL. Для адресов вида /index.php?cat=7873&item=6787 цепочки не формируются, но они построятся для адресов вида /cat7873/item6787 .
Для выбора названий используется содержимое элемента title и тексты ссылок на страницу. Рекомендуем давать короткое название странице в элементе title и в ссылках. Приветствуется, если содержимое элемента title и название ссылки совпадают.
Навигационная цепочка — это ряд ссылок на разделы сайта, к которым относится найденная страница. Она помогает пользователю Поиска быстро оценить объем информации на сайте или тип контента, и быстро перейти в нужный раздел.
Отображение без микроразметки:
Отображение с применением микроразметки:
ЧПУ (SEF)
Идем в настройки компонента и выставляем значения:
Теперь URL будут иметь вид:
Еще один вариант — использовать символьные коды (транслитерация названия) разделов и элементов инфоблока:
Теперь URL будут иметь вид:
Файл шаблона /local/templates/blog/components/bitrix/news/blog/bitrix/news.detail/.default/template.php
И добавим стили для страницы детального просмотра:
Управление шаблоном навигационной цепочки
Алгоритм построения цепочки навигации и формирования ее внешнего вида:
- Сбор пунктов навигационной цепочки ведется начиная от корня сайта и заканчивая текущим разделом. Для каждого очередного раздела подключается файл .section.php . Если в данном файле будет инициализирована переменная $sChainTemplate , то ее значение будет использовано в качестве пути к шаблону навигационной цепочки. В процессе перебора разделов, каждое последующее значение этой переменной перетирает предыдущее.
- Если после сбора пунктов навигационной цепочки путь к шаблону не определён, то проверяется существование файла Если такой файл существует, то путь к нему и принимается за путь к шаблону навигационной цепочки, в противном случае используется значение по умолчанию
Шаблон навигационной цепочки при ее выводе будет подключаться каждый раз на очередном пункте цепочки. Поэтому основная его задача — обеспечить внешний вид только одного пункта цепочки.
Основными переменными, используемыми в шаблоне, являются:
- $sChainProlog — HTML код выводимый перед навигационной цепочкой
- $sChainBody — HTML код определяющий внешний вид одного пункта навигационной цепочки
- $sChainEpilog — HTML код выводимый после навигационной цепочки
- $strChain — HTML код всей навигационной цепочки собранный к моменту подключения шаблона
Вышепредставленные переменные будут хранить в себе HTML-код, который определит внешний вид навигационной цепочки. Также в шаблоне будут доступны следующие дополнительные переменные:
- $TITLE — заголовок очередного пункта навигационной цепочки
- $LINK — ссылка на очередной пункт навигационной цепочки
- $arCHAIN — копия массива элементов навигационной цепочки
- $arCHAIN_LINK — ссылка на массив элементов навигационной цепочки
- $ITEM_COUNT — количество элементов массива навигационной цепочки
- $ITEM_INDEX — порядковый номер очередного пункта навигационной цепочки
Пример файла шаблона навигационной цепочки chain_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 :
Теперь постраничная навигация выглядит так:
Показ навигационной цепочки
Показ навигационной цепочки выполняется с помощью метода ShowNavChain() в шаблоне сайта, в коде страницы или в коде отдельных компонентов. Метод использует технологию отложенных функций, позволяющую добавлять пункты в навигационную цепочку уже после того, как был выведен пролог сайта.
Отложенные функции — технология, позволяющая задавать заголовок страницы, пункты навигационной цепочки, CSS стили, дополнительные кнопки в панель управления, мета-теги и т.п. с помощью функций, используемых непосредственно в теле страницы. Соответствующие результаты работы этих функций выводятся в прологе, то есть выше по коду, чем они были заданы.
Технология была создана в первую очередь для использования в компонентах, которые, как правило, выводятся в теле страницы, но при этом внутри них могут быть заданы заголовок страницы, добавлен пункт в навигационную цепочку, добавлена кнопка в панель управления и так далее. Отложенные функции нельзя использовать в файлах шаблона компонента template.php и result_modifier.php (так как результаты их выполнения кешируются).
Показ навигационной цепочки может быть отключен на определенных страницах или в определенном разделе сайта. Управление отображением навигационной цепочки также осуществляется с помощью свойств страницы (раздела). Для этого необходимо:
- На странице настроек модуля «Управление структурой», секция «Настройки для сайтов», создать свойство для страниц «Не показывать навигационную цепочку» с кодом not_show_nav_chain
- Если навигационная цепочка не должна отображаться на определенной странице или страницах какого-либо раздела, то для этой страницы или раздела нужно установить значение данного свойства равным Y
Кроме того, значение свойства «Не показывать навигационную цепочку» может быть задано непосредственно в коде страницы с помощью метода SetPageProperty() :
Компонент «Навигационная цепочка»
Пример вызова компонента:
Создадим свой шаблон с именем chain в папке общего шаблона сайта .default :
- 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.
Рядом с комплексным компонентом есть несколько простых, которые предназначены для решения одной задачи:
В настройках компонента оставляем шаблон .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
Шаблон списка новостей
Файл шаблона /local/templates/blog/components/bitrix/news/blog/bitrix/news.list/.default/template.php . Этот шаблон используется как для показа всех статей блога, так и для показа статей выбранного раздела инфоблока. Странно, но в шаблоне не предусмотрен вывод заголовков и вывод подразделов текущего раздела инфоблока. Давайте это исправим и создадим файл result_modifier.php :
Теперь можно заняться шаблоном списка статей блога:
Хлебные крошки
Для полноты картины не хватает еще хлебных крошек. Давайте откроем шаблон сайта 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.
Рекомендуемые поля схемы
Управление навигационной цепочкой
С помощью метода AddChainItem() в цепочку навигации могут быть добавлены дополнительные пункты. Первым параметром задается название, которое будет показано в навигационной цепочке, вторым параметром задается ссылка для перехода:
Некоторые пункты навигационной цепочки могут не содержать ссылки на какой-либо раздел или документ сайта, т.е. могут быть представлены в виде обычного текста (например, название текущей страницы). Такие пункты создаются путем добавления в шаблон показа навигационной цепочки следующего кода:
Чтобы выводить в навигационную цепочку название текущей страницы, необходимо вставить вызов метода AddChainItem() в файле footer.php , т.е. после вывода содержимого рабочей области.
Условия формирования навигационной цепочки
Навигационные цепочки могут сформироваться, если:
Микроразметка не содержит ошибки. Чтобы проверить код, воспользуйтесь валидатором в Вебмастере. Подробно о нем см. в разделе Валидатор микроразметки.
Для всех элементов, кроме последнего, указан абсолютный (URL) или относительный путь на соответствующий раздел сайта.
Пример относительного адреса: /dresses/real .
При использовании URL, в том числе в последнем элементе, домен совпадает с адресом сайта, на который встраивается разметка.
Текст элементов навигационной цепочки заполнен. Если в тексте есть эмодзи, при обработке они будут удалены и не отобразятся в результатах поиска.
В свойстве position указаны числа. При использовании нечисловых значений цепочка не сформируется. Вы можете не использовать position .
Элементов в цепочке слишком много. В этом случае отобразится только несколько последних элементов. Рекомендуем включать в цепочку до трех элементов.
Чтобы ваш вопрос быстрее попал к нужному специалисту, уточните тему:
Разметка формируется в течение двух недель. Если Яндекс не поддерживает какой-то из видов разметки на странице или в разметке ошибки, то просто пропускает ее.
Робот Яндекса сможет проиндексировать информацию с сайта и без разметки, на показ страниц в поиске это не повлияет. Чтобы задать желаемое описание страницы в результатах поиска, используйте метатег description.
Подробное описание возможных ошибок см. в разделе Валидатор микроразметки.
Данная форма обратной связи предназначена для вопросов о партнерских программах Яндекса и разметке. Если вы сомневаетесь, стоит ли использовать ту или иную партнерскую программу, которую предоставляют другие сервисы (не Яндекс), то мы никак не можем прокомментировать ее возможное влияние на состояние вашего сайта в поиске.
Цепочка навигации — последовательный список ссылок на разделы и страницы сайта, который показывает уровень «погружения» текущей страницы в структуру сайта. Значения, подставляемые в навигационную цепочку, могут быть заданы как для каждого раздела, так и для отдельного документа.
По умолчанию в Битрикс используется механизм управления названиями пунктов навигационной цепочки через свойства разделов. Заголовок раздела сайта задается в служебном файле .section.php , который находится в соответствующем разделе. В данном файле могут быть использованы следующие переменные:
- $sSectionName — заголовок раздела;
- $sChainTemplate — абсолютный путь к шаблону навигационной цепочки (данная переменная используется крайне редко)
Для того, чтобы ссылка на какой-либо раздел не выводилась в навигационной цепочке сайта, нужно удалить название раздела из поля «Заголовок» в визуальном редакторе или отредактировать файл .section.php :
Читайте также: