Навигация и заголовок

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Навигация и заголовок — это сценарий, в котором блок показывает данные текущей страницы: ее заголовок или навигационную цепочку. Речь о двух маркерах в разметке блока, а не о блоках с меню сайта — они описаны в статье Блоки-меню.

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

Отдельный subtype в манифесте блока для этого не нужен. Достаточно добавить в разметку блока один из маркеров:

  • #title# — заголовок страницы
  • #breadcrumb# — навигационная цепочка страницы

Маркеры можно ставить в любом месте разметки и использовать оба в одном блоке. В контенте блока они хранятся как есть, а подстановка выполняется при выводе страницы. Поэтому методы чтения отдают разный результат:

  • landing.block.getContentFromRepository возвращает сам маркер — это исходная разметка шаблона
  • landing.block.getcontent возвращает уже подставленное значение: заголовок-заглушку и демонстрационную цепочку

Маркер #title#

В публичной части маркер #title# заменяется на заголовок текущей страницы. Заголовок берется из названия страницы — поля TITLE, которое возвращает landing.landing.getList и меняет landing.landing.update. Состав полей страницы описан в статье Поля страницы.

Пример блока с заголовком:

<section class="landing-block g-pt-20 g-pb-20">
    <div class="landing-title-container container g-font-size-12">
        #title#
    </div>
</section>

В редакторе и превью вместо реального заголовка выводится демонстрационное значение.

Маркер #breadcrumb#

В публичной части маркер #breadcrumb# заменяется на навигационную цепочку текущей страницы. Цепочку строит Битрикс24 по положению страницы на сайте: по папке, в которой она лежит, и по разделу сайта. Состав цепочки задается структурой страниц, а не блоком, поэтому через манифест и REST на нее повлиять нельзя. Перенести страницу в другую папку позволяет landing.landing.move.

В редакторе и превью подставляется демонстрационная цепочка. Ее разметку система берет из шаблона главного сайта Битрикс24, а не из шаблона того сайта, где стоит блок.

Пример блока с навигационной цепочкой:

<section class="landing-block g-pt-20 g-pb-20">
    <div class="landing-breadcrumb-container container g-font-size-12">
        #breadcrumb#
    </div>
</section>

Примеры штатных блоков

  • store.breadcrumb
  • store.breadcrumb_dark_bg_text_left
  • store.store_v3_menu_2

Как повторить в своем блоке

  1. Посмотрите разметку готового блока методом landing.block.getContentFromRepository, передав код блока из списка выше.
  2. Поставьте нужный маркер в разметку своего блока и зарегистрируйте его методом landing.repo.register.
  3. Добавьте блок на страницу методом landing.landing.addblock и опубликуйте ее методом landing.landing.publication. Результат подстановки виден только на опубликованной странице.

Маркер можно добавить и в блок, который уже стоит на странице: передайте новую разметку методом landing.block.updatecontent.

Права и ограничения

Scope: landing

Кто может выполнять метод: в зависимости от метода

Ограничения:

  • заменяются ровно два маркера — #title# и #breadcrumb#. Свой маркер добавить нельзя
  • маркер работает только в содержимом блока. Отдельного параметра или метода для подстановки заголовка нет
  • если маркера в блоке нет, подстановка не выполняется, а лишний текст в блок не добавляется

Продолжите изучение