Шаблоны и переменные

Часто одних и тех же страниц много, и отличаются они только значением — например, «Новости по Python» и «Новости по Go». Чтобы не заводить страницу под каждый вариант, достаточно одной страницы-образца. Значение подставляется в неё из адреса.

Страница-образец

Образец — это папка, имя которой записано в квадратных скобках, например [tag]. Одна такая папка обслуживает сколько угодно адресов: news/python, news/go, news/rust — все они откроют одну и ту же страницу, но с разными значениями внутри. Новую папку под каждый вариант создавать не нужно.

  • Статичная страница всегда важнее образца. Если завели отдельную папку news/press-releases, именно она и откроется по этому адресу, а образец останется для остальных значений.
  • Правка «по адресу образца» меняет сам образец. Если агент сохраняет страницу по адресу вида news/python, а отдельной папки нет, изменения попадут в общий образец — и это правильно: так один раз поправленный текст сразу улучшится для всех значений.

Откуда берутся значения

  • Из адреса. В ссылке /p/news/python значение python само попадает в переменную.
  • Из ссылки. Значение можно передать в конце адреса после знака вопроса, например ?tag=python.
  • Из выбора на странице. Если у переменной несколько возможных значений, её можно выбрать прямо на открытой странице.

Если значения нет

Когда образец открыли без нужного значения, портал не угадывает, что подставить. Вместо этого сверху страницы показывается блок Переменные пути со списком выбора. Рядом видно Итоговый путь — тот адрес, который получится, — а кнопка Применить открывает страницу по этому адресу. Ошибки в выборе быть не может: портал сначала показывает, куда ведёт.

Куда подставляются значения

Значение переменной подставляется во все текстовые поля страницы: в заголовок страницы, её описание, заголовки блоков, подписи кнопок, адреса переходов и в сами тексты. Поэтому страница-образец выглядит как обычная страница, а не как шаблон с «дырками».

Если шаблон с ошибкой

Бывает два случая. Если в тексте упомянута переменная, которой не существует, на её месте останется пустое место — страница откроется, просто без этого значения. Если же шаблон сломан — например, в подстановке пропущен закрывающий элемент, — проверка структуры предупредит агента, и он поправит страницу. Читателю такое сообщение не показывается. Подробнее — в разделе Проверки страниц.

Дальше: кому видно страницу — в разделе Доступ к страницам; как устроен публичный сайт — в разделе Публичный сайт; как страница устроена на диске — в разделе Формат документа.

← Оглавление документации