Этот тип шаблона является главным для раздела, он содержит данные о первых двух уровнях категорий.
Массив записей с данными о категориях первых двух уровней. Каждая запись представляет собой массив с ключами:
Название категории.
Ссылка на страницу категории.
Описание категории.
Числовой идентификатор прикрепленного изображения.
Количество материалов в категории.
Уровень в дереве категорий, 0 - находится в корне.
Строковой идентификатор URL категории.
Массив записей с данными о подкатегориях. Записи аналогичны записям в $categories.
Количество уровней в дереве категорий.
<h1>{$section_name}</h1> {if $categories} <ul> {section name=i loop=$categories} <li><a href="{$categories[i].link}">{$categories[i].name} - ({$categories[i].citems})</a></li> {/section} </ul> {/if}
Этот тип шаблона содержит данные о выбранной категории, о следующих двух уровнях категорий, а так же список товаров каталога, которые принадлежат выбранной категории.
Массив с данными о текущей категории, состоит из ключей:
Название категории.
Описание категории.
Числовой идентификатор прикрепленного изображения.
Количество материалов в категории.
Уровень в дереве категорий, 0 - находится в корне.
Строковой идентификатор категории.
Массив записей с данными о категориях двух уровней начиная с текущего. Формат данных аналогичен описанному выше.
Массив записей с данными о товарах каталога. Каждая запись представляет собой массив с ключами:
Название товара.
Главный текст-описание, форматированный, если включена опция визуального редактора.
Краткая аннотация. Если включена опция автогенерации аннотации, то состоит из первых 350 символов основного текста без форматирования.
Ссылка на детальную страницу.
Ссылка для добавления товара в корзину.
Ссылка для добавления товара в таблицу сравнения.
Цена товара.
Старая цена, может использоваться в маркетинговых целях.
Артикул товара.
Полное название категории, которой принадлежит товар.
Дата создания в формате UTC.
Строковой идентификатор URL.
Количество на складе.
Признак спецпредложения, принимает значения Y/N.
Признак новинки, принимает значения Y/N.
Текущая оценка товара.
Количество голосов.
Количество комментариев.
Логическое значение, истина, если количество на складе указано больше нуля.
Массив записей с данными о прикрепленных изображениях, может использоваться в качестве параметра функции image. Каждая запись представляет собой массив с ключами:
Числовой идентификатор первого прикрепленного изображения.
Массив записей с данными о прикрепленных файлах, может использоваться в качестве параметра функции download. Каждая запись представляет собой массив с ключами:
Числовой идентификатор первого прикрепленного файла.
Если включено использование тегов, то содержит массив записей с данными о тегах. Каждая запись представляет собой массив с ключами:
Значение дополнительного поля (свойства товара).
Массив записей с данными о дополнительных полях. Каждая запись представляет собой массив с ключами:
Объект постраничной навигации.
<h1>{$category.name}</h1> {if $categories} <ul> {section name=i loop=$categories} <li><a href="{$categories[i].link}">{$categories[i].name} - ({$categories[i].citems})</a></li> {/section} </ul> {/if} {if $items} {section name=i loop=$items} {image id=$items[i].idimg width=80 height=80 align="left"} <h3><a href="{$items[i].link}">{$items[i].name}</a></h3> <p>{$items[i].description}</p> <p>Цена: {$items[i].price} {$valute} , <a href="{$items[i].tobasketlink}">В корзину</a></p> <div class="clear"></div> {/section} {object obj=$items_pager} {/if}
Этот тип шаблона содержит все данные выбранноuj товара.
Массив с данными о текущей категории. Формат данных аналогичен описанному выше.
Массив с данными о текущей записи каталога. Формат данных аналогичен формату записей в массиве описанном выше.
Массив записей с данными о сопутствующих товарах. Каждая запись представляет собой массив аналогичный по формату описанном выше.
Логическое значение. Если включено оценивание, то принимает значение истина, если пользователь уже оценил материал.
Массив записей всех комментариев к товару. Каждая запись представляет собой массив с ключами:
Массив данных для начальных значений формы комментирования. В случае неверного ввода каптчи является копией $_REQUEST, поэтому важно защищать значения с помощью escape. Если на сайте используется раздел на базе модуля "Пользователи", то значение массива с ключом name будет замещаться на имя пользователя, в случае если он авторизирован на сайте.
Содержит значение, которое может быть использовано в скрытом поле captcha, если форму отправки необходимо сделать без ввода контрольных цифр на рисунке.
<h1>{$item.name}</h1> {$item.content} <p>Цена: {$item.price} {$valute}</p> <p>{if $item.available}В наличии{else}Нет на складе{/if}</p> <p><a href="{$item.tobasketlink}">В корзину</a></p> <h3>Фото</h3> {section name=i loop=$item.images} {image data=$item.images[i] width=200 popup=true} {/section} {if $options.usefiles} {* Если включены файлы. *} <p>{download data=$item.files size=true}</p> {/if} {if $options.usevote} {* Если включено оценивание. *} <form method="post"> Оценка: {$item.vote}, Голосов: {$item.cvote}, {if !$isvote} {* Если еще не оценивал. *} <select name="vote"> <option value="1">1</option> <option value="2">2</option> <option value="3" selected>3</option> <option value="4">4</option> <option value="5">5</option> </select> {submit caption="Оценить"} {hidden name="action" value="addvote"} {else} Вы проголосовали. {/if} </form> {/if} {if $options.usecomments} {* Если включено комментирование. *} {if $comments} {* Вывод комментариев. *} <h4>Комментарии:</h4> {/if} {section name=i loop=$comments} <p><b>{$comments[i].date|date_format:"%d.%m.%Y %T"} {$comments[i].name}:</b></p> <p>{$comments[i].message}</p> {/section} {if $errors.captcha} <p><font color="red">Неверно введены контрольные цифры, попробуйте еще раз.</font></p> {/if} {literal} {* Скрипт валидации формы комментирования. *} <script type="text/javascript"> function valid_form(form) { if(form.name.value.replace(/\s+/,'').length==0) { alert("Пожалуйста, заполните имя."); return false; } if(form.message.value.replace(/\s+/,'').length<5) { alert("Пожалуйста, заполните сообщение."); return false; } return true; } </script> {/literal} <h4>Оставить комментарий:</h4> {* Форма комментирования. *} <form method="post" onsubmit="return valid_form(this)"> <p>Ваше имя:</p> <p>{editbox name="name" width="40%" text=$form.name}</p> <p>{textarea name="message" rows=5 text=$form.message}</p> <p>Введите цифры на картинке:</p> <p>{editbox name="captcha" width="50"}</p> <p>{captcha}</p> <p>{submit caption="Добавить"}</p> {hidden name="action" value="addcomment"} </form> {/if}
Этот тип шаблона содержит данные о найденных товарах в результате использования фильтров.
Если среди применяемых фильтров есть фильтр по категории, то этот массив содержит данные об этой категории. Формат данных аналогичен описанному выше, за исключением дополнительного ключа:
Ссылка на страницу категории.
Массив записей с данными о найденных товарах. Формат данных аналогичен формату записей в массиве описанном выше.
Объект постраничной навигации.
Массив записей, которые содержат описания примененных фильтров. Каждая запись представляет собой массив с ключами:
Поле к которому применяется фильтр.
Описание поля.
Значение применяемое в фильтре.
Ссылка на результаты поиска только по этому фильтру.
<h1>Результаты поиска</h1> {if $items} {section name=i loop=$items} {image data=$items[i].images width=80 height=80 align="left"} <h4><a href="{$items[i].link}">{$items[i].name}</a></h4> <p>{$items[i].description}</p> <p>Цена: {$items[i].price} {$valute} , <a href="{$items[i].tobasketlink}">В корзину</a></p> <div class="clear"></div> {/section} {object obj=$items_pager} {/if}
Этот тип шаблона содержит данные о состоянии корзины пользователя.
Массив записей с данными о содержимом корзины. Каждая запись представляет собой массиво с ключами:
Числовой идентификатор позиции в корзине.
Массив с данными о товаре. Формат данных аналогичен описанному выше.
Сумма позиции корзины (Цена товара умноженная на указанное количество).
«Старая» сумма позиции корзины («Старая» цена товара умноженная на указанное количество).
Ссылка на удаление позиции из корзины.
Массив с итоговыми данными по корзине. Состоит из ключей:
Общее количество товаров в корзине.
Общая сумма по товарам в корзине.
Общая «старая» сумма по товарам в корзине.
<h1>Корзина</h1> <form method="post"> <table width="100%" border="1"> <tr> <td>Наименование товара</td> <td>Кол-во</td> <td>Цена</td> <td>Удалить</td> </tr> {section name=i loop=$basket} <tr> <td><a href="{$basket[i].data.link}">{$basket[i].data.name}{if $basket[i].data.mprice} ({$basket[i].data.mprice}){/if}</a></td> <td><input type="text" name="count_{$basket[i].id}" value="{$basket[i].count}"></td> <td>{$basket[i].sum} {$valute}</td> <td><a href="{$basket[i].deletelink}">Удалить</a></td> </tr> {/section} </table> <p>Товаров в корзине: {$all.count}, на общую сумму: {$all.sum} {$valute}.</p> <p align="right"> {submit caption="Пересчитать"} {hidden name="action" value="recalcbasket"} </p> </form> <p><a href="{$orderlink}">Оформить заказ</a></p>
Этот тип шаблона содержит данные страницы с формой заказа. Набор полей у формы может быть любой, достаточно потом просто составить такой же набор полей в шаблоне письма-уведомления о заказе.
Массив записей с данными о содержимом корзины. Формат данных аналогичен описанному выше, за исключением ссылки удаления.
Массив с итоговыми данными по корзине. Формат данных аналогичен описанному выше.
Массив данных для начальных значений формы заказа. По сути является копией массива $_POST, поэтому при выводе важно защищать значения с помощью escape. Если на сайте используется раздел на базе модуля "Пользователи", то значениями массива будут данные пользователя, в случае если он авторизирован на сайте.
Этот тип шаблона предусмотрен для вывода специального сообщения после успешной отправки формы заказа. Он не содержит специальных данных, текст сообщения об успешной отправке вставляется непосредственно в шаблон.
<h1>{$section_name}</h1> <p>Ваш заказ отправлен.</p>
Этот тип страницы используется для вывода всех товаров сразу в одном прайс-листе.
Массив записей с данными о всех категориях (включая подкатегории). Каждая запись состоит из ключей:
Полное название категории.
Массив записей с данными о товарах в категории. Формат каждой записи аналогичен описанному выше, за исключением данных об изображениях и файлах.
<h1>Прайс</h1> {section name=i loop=$categories} {if $categories[i].items} <h3>{$categories[i].name}</h3> <table width="100%" border="1"> <tr> <th>Название</th> <th>Цена</th> <th>В наличии</th> <th> </th> </tr> {section name=j loop=$categories[i].items} <tr> <td>{$categories[i].items[j].name}</td> <td>{$categories[i].items[j].price}</td> <td>{if $categories[i].items[j].available}Да{else}Нет{/if}</td> <td><a href="{$categories[i].items[j].tobasketlink}">В корзину</a></td> </tr> {/section} </table> {/if} {/section}
Этот тип шаблона содержит данные о товарах, добавленных для сравнения. Формат данных позволяет осуществить столбчатый вывод всех характеристик товаров.
Массив записей с данными о товарах добавленных для сравнения. Формат каждой записи аналогичен описанному выше, с дополнительным ключом:
Ссылка для удаления товара из таблицы сравнения.
Массив с данными о всех дополнительных полях (характеристиках). Ключами являются названия полей, а значениями - их описания.
<h1>Сравнение</h1> <table> <tr> <th>Название</th> {section name=i loop=$items} <td><a href="{$items[i].link}">{$items[i].name}</a></td> {/section} </tr> <tr> <th>Фото</th> {section name=i loop=$items} <td align="center"> <a href="{$items[i].link}">{image data=$items[i].images height=160 width="160" popup=true}</a><br> <a href="{$items[i].tobasketlink}">В корзину</a><br> <a href="{$items[i].deletelink}">Удалить</a> </td> {/section} </tr> <tr> <th>Цена</th> {section name=i loop=$items} <td>{$items[i].price} {$valute}</td> {/section} </tr> {foreach from=$fields key=field item=caption} <tr> <th>{$caption}</th> {section name=i loop=$items} <td>{$items[i].$field}</td> {/section} </tr> {/foreach} </table>
Этот тип шаблона может использоваться только если на сайте используется модуль "Пользователи". На этой странице авторизированный пользователь может смотреть архив своих заказов и отслеживать их статусы.
Массив записей с данными о заказах пользователя. Каждая запись представляет собой массив с ключами:
Числовой идентификатор заказа.
Дата и время заказа в формате UTC.
Содержание заказа в текстовом виде (формируется по шаблону письма уведомления о новом заказе).
Массив записей с данными о содержимом корзины. Формат данных аналогичен описанному выше.
Общее количество товаров в заказе.
Общая сумма заказа.
Статус заказа.
Объект постраничной навигации.
<h1>Мои заказы</h1> {if $orders} <table border="1"> <tr> <th>№</th> <th>Состав</th> <th>Сумма</th> <th>Статус</th> </tr> {section name=i loop=$orders} <tr> <td>{$orders[i].id}</td> <td> {section name=j loop=$orders[i].basket} {$orders[i].basket[j].data.name} - {$orders[i].basket[j].count} шт.<br> {/section} </td> <td>{$orders[i].sum} {$valute}</td> <td>{if $orders[i].status>1}Обработан{else}Ожидает{/if}</td> </tr> {/section} </table> {object obj=$orders_pager} {else} <p>Нет данных.</p> {/if}