Дополнительные параметры страниц

Содержание...

В приложениях Вебасиста, использующих общий механизм публикации страниц фронтенда (например, «Сайт», «Блог», «Фото») при создании и редактировании дополнительной страницы либо записи блога имеется поле для ввода дополнительных параметров. Такие параметры используются прежде всего для задания индивидуального дизайна каждой отдельной страницы сайта или записи блога, отличающегося от дизайна других аналогичных страниц.

Названия параметров рекомендуется составлять из латинских букв и символов подчёркивания, например: status или extra_class. В качестве значений параметров можно использовать любой текст, например: special или 1. Название и значение параметра должны быть разделены символом равенства без пробелов. Каждый параметр должен быть указан на отдельной строке, например:

extra_class=1
status=special

Имена и значения параметров доступны в шаблонах дизайна в качестве элементов страниц, массив которых возвращают следующие конструкции:

$wa->site->pages() {* инф. страницы фронтенда «Сайта» *}
$wa->photos->pages() {* инф. страницы фронтенда «Фото» *}
$wa->blog->posts() {* записи блога *}

Каждый элемент массива, возвращаемого такой конструкцией, содержит информацию о странице Сайта либо записи Блога, включая заданные в её настройках дополнительные параметры. Использовать их можно, например, в цикле перебора элементов массива:

<ul>
  {foreach $wa->site->pages() as $page}
    <li>
      <a href="{$page.url}" {if $page.extra_class == '1'}class="highlighted bold"{/if}>{$page.name}</a>
    </li>
  {/foreach}
</ul>

Кроме этого, в шаблонах, использущихся в контексте отдельных страниц (например, page.html или post.html), где уже доступна переменная со свойствами страницы ($page либо $post), можно сразу использовать нужное свойство, как показано в примере:

{if $page.status == 'special'}
  <div class="special_offer">
  ...
  </div>
{/if}