Документерра: руководство пользователя

Сниппеты

Иногда необходимо использовать один и тот же фрагмент контента в нескольких страницах. Это не одно значение, которое можно сохранить в переменной, а часть контента HTML, которую необходимо использовать на нескольких страницах. Для этого необходимо использовать сниппеты.


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

После создания страницы с контентом, предназначенным для многократного использования, можно отключить опцию  Показать этот элемент в Дереве страниц в Общих свойствах страницы. Это необходимо, если страница не должна отображаться в Дереве страниц, но должна быть доступна по прямой ссылке. Кроме того, публикации вы можете установить режим публикации Не публиковать в том же разделе — в этом случае страница-сниппет не будет включаться в публикации в качестве отдельной страницы.

Следующий шаг — включить созданный контент страницы-сниппета в другую страницу.

Создание сниппетов

Чтобы добавить сниппет через режим Дизайна, выполните следующие шаги:

  • Navigate to the Insert tab on the editor's ribbon.
  • Click Insert Snippet in the Single-Sourcing section.
  • Start typing the topic's title or ID in the input field, and select it from the dropdown list.
  • Нажмите Вставить сниппет. Появится блок с нужным сниппетом. 

An inserted snippet in the Design view.

Даже если страница, из которой вы получили сниппет, не будет опубликована из-за настроек, контент сниппета будет успешно включен в нужный контекст и будет виден после завершения процесса публикации.

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

Кнопка «Создать сниппет» на вкладке «Единый источник» в верхней панели редактора

При преобразовании выделенного фрагмента в сниппет во вновь созданной странице-сниппете будут включены режимы «Не публиковать» и «Не показывать в Дереве страниц». Рекомендуется также установить эти параметры и для сниппетов, создаваемых вручную.

Удаление сниппетов

Для удаления сниппета, необходимо выполнить следующие шаги:

  • Выберите блок, щелкнув в левом верхнем углу элемента (там отображается название страницы, из которой взят сниппет).
  • Нажмите клавишу Удалить на клавиатуре или кнопку Удалить элемент в строке Инспектора тегов над редактором.

Ниже приведен синтаксис HTML, который можно использовать в режиме исходного кода для добавления сниппета:

HTML
<ch:snippet url="/articles/PROJECT-URL/TOPIC-URL"/>

URL-аттрибут тега — это URL-адрес страницы, которую нужно включить. Для получения URL-адреса нужной страницы откройте эту страницу и проверьте адресную строку веб-браузера. URL-адрес страницы, который вам нужно использовать, представляет собой всю адресную часть после имени сервера - она выделена красным цветом:
https://doc.documenterra.ru/articles/PROJECT-URL/TOPIC_URL

Динамические элементы в сниппетах 

В системе Документерра есть ряд динамических элементов, чувствительных к контексту. Они отображаются по-разному в зависимости от различных факторов. Ярким примером такого элемента является принцип навигации Хлебные крошки (Breadcrumb). Он показывает навигационную цепочку по Дереву страниц и зависит от того, где находится текущая страница. Если вы переместите страницу в другую ветку Дерева страниц, Хлебные крошки автоматически отразят новую позицию. То же самое относится к элементам навигации по страницам Следующая/предыдущая/В начало и блоку Связанные статьи. В публикациях все динамические элементы компилируются в  статический HTML-контент для каждой страницы в зависимости от ее контекста.

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

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