Вывод в теме
Обновлено
Автоматический вывод через хук
В общих настройках включите «Статус плагина», выберите frontend_category в «Вывод по хуку» и сохраните настройки.
Плагин возвращает готовую разметку для текущей категории. Место её появления зависит от того, где активная тема выводит результат frontend_category. Если тема не выводит этот хук, используйте хелпер.
Стандартный шаблон выводит ссылки с изображениями в гибком блоке с переносом строк. Отдельного заголовка у блока нет.
Готовая разметка: render()
В шаблоне категории:
{if !empty($wa->shop->ewshopclinksPlugin->version())}
{$wa->shop->ewshopclinksPlugin->render()}
{/if}Без аргумента метод ищет ID в параметре маршрута category_id, затем в переменной шаблона $category['id']. Если ID не найден, возвращает пустую строку.
С явным ID текущей категории:
{if !empty($wa->shop->ewshopclinksPlugin->version())}
{$wa->shop->ewshopclinksPlugin->render($category['id'])}
{/if}В другом шаблоне можно передать ID нужной категории. Число 123 в примере замените реальным ID:
{if !empty($wa->shop->ewshopclinksPlugin->version())}
{$wa->shop->ewshopclinksPlugin->render(123)}
{/if}render() учитывает «Статус плагина» и возвращает пустую строку при выключенном статусе, нулевом ID или отсутствии ссылок. Настройка «Вывод по хуку» на него не влияет.
При размещении хелпера вместо автоматического вывода установите «Вывод по хуку» → «Не выводить», иначе при наличии хука в теме список может появиться дважды.
Собственный шаблон для хука и render()
Создайте в корне активной темы приложения «Магазин» файл:
ewshopclinks_plugin.frontend_category.htmlЕсли файл существует в активной теме, плагин использует его вместо стандартного templates/actions/frontend/frontendCategory.html. Это действует и для хука, и для render().
В файле доступен массив $links. Пример содержимого:
{if !empty($links)}
<ul class="category-quick-links">
{foreach $links as $link}
<li>
<a href="{$link['link']|escape}">
{if !empty($link['image']['url'])}
<img src="{$link['image']['url']|escape}"
alt="{$link['title']|escape}" width="24" height="24">
{/if}
{$link['title']|escape}
</a>
</li>
{/foreach}
</ul>
{/if}Классу category-quick-links в этом примере нужно задать оформление в стилях своей темы. Плагин не добавляет стили для этого класса.
Только данные: getLinks($category_id)
Метод требует ID категории и возвращает массив ссылок в порядке sort ASC. Нулевой ID даёт пустой массив. В отличие от render(), метод не проверяет «Статус плагина» и не использует шаблон вывода.
{if !empty($wa->shop->ewshopclinksPlugin->version())}
{$quick_links = $wa->shop->ewshopclinksPlugin->getLinks($category['id'])}
{if !empty($quick_links)}
<nav class="category-quick-links">
{foreach $quick_links as $quick_link}
<a href="{$quick_link['link']|escape}">{$quick_link['title']|escape}</a>
{/foreach}
</nav>
{/if}
{/if}Поля элемента массива
| Поле | Содержимое |
|---|---|
id |
ID ссылки |
category_id |
ID категории, к которой добавлена ссылка |
contact_id |
ID пользователя, сохранившего ссылку |
update_datetime |
Дата и время сохранения |
title |
Текст ссылки |
link |
Указанный адрес |
sort |
Позиция в списке |
image.url |
Публичный URL изображения, если оно есть |
image.filename |
Исходное имя загруженного файла, если изображение есть |
Без изображения ключ image не добавляется. Проверяйте его наличие перед обращением к вложенным полям.