Promodo CMS

Редактирование шаблона вывода

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

Редактирование шаблона вывода при создании/редактировании шаблона данных для объекта сайта – это задача, позволяющая расположить все поля и их характеристики в любом порядке.

Редактирование шаблона вывода

Рассмотрим редактирования шаблона вывода на примере стандартного шаблона данных категории. Шаблон вывода имеет вид:

<h1>{$this->escape($content.title)}</h1>
<div>{$content.text}</div>
{assign var=subCategories value=$content->getSubCategories()}
{assign var=pages value=$content->getPages()}
{if count($subCategories)}
  <b>Подкатегории:</b>
  <ul>
    {foreach from=$subCategories item=subCategory}
      <li><a href="{$subCategory->getUrl()}">{$this->escape($subCategory.title)}</a></li>
    {/foreach}
  </ul>
{/if}
{if count($pages)}
  <b>Страницы:</b>
  <ul>
    {foreach from=$pages item=pageItem}
      <li><a href="{$pageItem->getUrl()}">{$this->escape($pageItem.title)}</a></li>
    {/foreach}
  </ul>
{/if}

Основные переменные шаблона:

$content – объект, содержащий все свойства страницы;

$content.title – заголовок текущей страницы;

$content.text – текстовое описание категории;

$subCategories – массив, содержащий все подкатегории текущей категории;

$pages – массив, содержащий все страницы, принадлежащие текущей категории.

Предположим, что перед нами стоит задача изменения порядка вывода содержимого для категорий:

– текст категории перенести вниз страницы,

– озаглавить список подкатегорий «Подкатегории» и сделать вывод списка страниц, принадлежащих к этой категории, не в виде списка, а в виде таблицы.

Получаем следующий код:

<h1>{$this->escape($content.title)}</h1>
{assign var=subCategories value=$content->getSubCategories()}
{assign var=pages value=$content->getPages()}
{if count($subCategories)}
  <h1>Подкатегории:<h1>   
{* изменен заголовок *}
  <ul>
    {foreach from=$subCategories item=subCategory}
      <li><a href="{$subCategory->getUrl()}">{$this->escape($subCategory.title)}</a></li>
    {/foreach}
  </ul>
{/if}
{if count($pages)}
  <b>Страницы:</b>
  <table>      
{* вывод страниц категории в таблице *}
    <tr>
      {foreach from=$pages item=pageItem}
        <td><a href="{$pageItem->getUrl()}">{$this->escape($pageItem.title)}</a></td>
      {/foreach}
    </tr>
  </table>
{/if}
<div><b>{$content.text}</b></div>    {* текст страницы внизу и жирный *}

Таким образом, можно легко управлять внешним видом вашего сайта с помощью панели администратора.

Редактирование шаблона вывода