Блоки данных для шаблонов и макетов
Данные из интернет-магазина в шаблоны и макеты передаются с помощью функции block. Функция обращается к объекту магазина и запрашивает у него необходимые данные.
{block name="..." assign=" ... "}
У функции есть три основных параметра, которые одинаковы для всех объектов, и дополнительные, которые зависят от конкретного объекта. Основными являются следующие параметры.
name | Указывает, какие данные необходимо загрузить в шаблон. Обязательный параметр. |
assign | Переменная, в которую будут загружены данные. Обязательный параметр. |
name | Дополнительный параметр, путь к шаблону, который нужно загрузить для обработки блока. Альтернативный вариант отдельному вызову {include file=…}. Необязательный параметр. |
Обратите внимание, что некоторые данные могут не загружаться в создаваемом магазине. Скорее всего, для получения данных необходимо подключить соответствующий для них модуль.
Ниже находятся описания доступных блоков с дополнительными параметрами и примерами использования. Все дополнительные параметры являются необязательными и имеют значения по умолчанию.
*.MetaSearch
Поиск элементов по дополнительным полям (Metafield), тип которых Число или Флажок. Применяется для объектов: Товар, Категория, Бренд, Баннер, Страница, Отзыв, Статья
Параметр | Тип | Описание |
field | str | Название переменной, по которой осуществляется поиск. |
value | str | Необходимое значение. Допустимые операции: > - больше, < - меньше, ! - не равно |
count | int | Количество элементов |
offset | int | Смещение в выборке, отсчет с нуля |
{block name='Catalog.Product.MetaSearch' field='homeslide' value='1' assign='products'} {block name='Catalog.CatalogCategory.MetaSearch' field='disable_in_menu' value='!1' assign='categories'} {block name='Catalog.CatalogBrand.MetaSearch' field='homeslide' value='1' assign='brands'} {block name='Banners.Banner.MetaSearch' field='homeslide' value='1' assign='banners'} {block name='Tree.MetaSearch' field='disable_in_menu' value='!1' assign='pages'} {block name='Testimonials.Testimonial.MetaSearch' field='rating' value='>2' assign='testimonials'} {block name='Articles.Article.MetaSearch' field='homeslide' value='1' assign='articles'}
Menu.Get
Используется для отображение меню из страниц сайта, либо для создания списков страниц. Для вывода меню в шаблоне, необходимо указать его псевдоним.
Параметр | Тип | Описание |
id | str | Псевдоним меню, редактируемый в свойствах меню. Так определяется, какое меню отобразить в блоке. |
type | str | Тип all или threaded определяет, будут ли загружены подразделы для пунктов меню. По умолчанию - threaded с подразделами. |
{block name='Menu.Get' assign='menu' id='mainmenu'} {block name='Menu.Get' assign='menu' id='footer' type='all'}
Articles.Article.New
Новые статьи, упорядоченные по дате добавления.
Параметр | Тип | Описание |
count | int | Количество статей. |
{block name='Articles.Article.New' assign='articles' count=5}
Articles.Article.Category
Выборка статей указанной категории.
Параметр | Тип | Описание |
category | int | ID категории. |
count | int | Количество статей. По умолчанию 10. |
{block name='Articles.Article.Category' assign='articles' category=$document.ArticleCategory.id count=5}
Articles.ArticleCategory.Tree
Каталог категорий статей со всеми подразделами.
{block name='Articles.ArticleCategory.Tree' assign='categories'}
Articles.ArticleCategory.Catalog
Каталог категорий статей с последними статьями для каждой категории.
Параметр | Тип | Описание |
count | int | Количество статей для категории. |
{block name='Articles.ArticleCategory.Catalog' assign='categories' count=5}
Banners.Banner.Get
Загрузить указанный баннер.
Параметр | Тип | Описание |
id | int | ID баннера. Предпочтительнее использовать alias. |
alias | str | Псевдоним баннера. |
{block name='Banners.Banner.Get' assign='banner' alias='socialwidget'}
Banners.BannerZone.Show
Загрузить баннерную зону и ее баннеры.
Параметр | Тип | Описание |
id | int | ID зоны. Предпочтительнее использовать alias. |
alias | str | Псевдоним зоны. |
count | int | Количество баннеров для загрузки. По умолчанию 1. Если 1, то в ключе массива code будет код всего баннера. |
{block name='Banners.BannerZone.Show' assign='zone' alias='slideshow' count=10}
Catalog.CatalogBrand.List
Список брендов магазина.
Параметр | Тип | Описание |
photo | bool | Загружать только бренды с фотографией. 1 или 0. По умолчанию - 0. |
count | int | Количество в выборке. По умолчанию - без ограничений. |
order | str | Сортировка order="rand" - случайно. По умолчанию - по параметру "Порядок" и "Название". |
{block name='Catalog.CatalogBrand.List' assign='brands' photo=1}
Catalog.CatalogBrand.ByCategory
Список брендов магазина, для которых есть товары в указанной категории.
Параметр | Тип | Описание |
id | int | ID категории, для которой нужно загрузить бренды. |
{block name='Catalog.CatalogBrand.ByCategory' assign='brands' id=5} {block name='Catalog.CatalogBrand.ByCategory' assign='brands' id=$document.CatalogCategory.id}
Catalog.CatalogBrand.Letters
Все бренды, сгруппированные по первой букве. Для алфавитного каталога.
{block name='Catalog.CatalogBrand.Letters' assign='brands'}
Catalog.CatalogCategory.Banners
Категории первого уровня, у которых загружено фото.
{block name='Catalog.CatalogCategory.Banners' assign='categories'}
Catalog.CatalogCategory.Id
Категория по ее ID.
Параметр | Тип | Описание |
id | int | ID категории. |
{block name='Catalog.CatalogCategory.Id' assign='category' id=5}
Catalog.CatalogCategory.Letters
Все категории, без учета уровня вложенности, сгруппированные по первой букве. Для алфавитного каталога.
{block name='Catalog.CatalogCategory.Letters' assign='categories'}
Catalog.CatalogCategory.New
Новые категории каталога. Флажок новизны указывается администратором в панели управления.
Параметр | Тип | Описание |
type | str | Тип выборки all (все категории списком, по умолчанию) или threaded (дерево с подразделами). |
root | int | ID корневой категории, если нужно выбрать подразделы произвольной категории. Необязательный параметр. |
{block name='Catalog.CatalogCategory.New' assign='categories'} {block name='Catalog.CatalogCategory.New' assign='categoriesTree' type='threaded'} {block name='Catalog.CatalogCategory.New' assign='categories' root=5} {block name='Catalog.CatalogCategory.New' assign='categoriesTree' type='threaded' root=$document.CatalogCategory.id}
Catalog.CatalogCategory.Last
Все категории списком, упорядоченные по убыванию ID (новые будут вверху).
Параметр | Тип | Описание |
count | int | Количество категорий. По умолчанию - 10. |
{block name='Catalog.CatalogCategory.Last' assign='categories' count=5}
Catalog.CatalogCategory.Tree
Весь каталог категорий со всеми активными подразделами.
{block name='Catalog.CatalogCategory.Tree' assign='categoriesTree'}
Catalog.CatalogCategory.AllChildren
Список подразделов заданной категории.
Параметр | Тип | Описание |
category | int | ID категории, подразделы которой нужно загрузить. |
{block name='Catalog.CatalogCategory.AllChildren' assign='categories' category=5} {block name='Catalog.CatalogCategory.AllChildren' assign='categories' category=$document.CatalogCategory.id}
Catalog.CatalogDeal.List
Список акционных товаров с таймерами.
Параметр | Тип | Описание |
active | bool | Загрузить активные предложения (текущая дата между датой начала и завершения акции). 1 или 0. По умолчанию - 0. |
soon | bool | Загрузить предстоящие предложения (даты начала и завершения больше текущей даты). 1 или 0. По умолчанию - 0. |
sold | bool | Загрузить проданные предложения (количество равно 0 и акция помещена в архив). 1 или 0. По умолчанию - 0. |
expired | bool | Загрузить прошедшие предложения (текущая дата больше даты завершения акции и акция помещена в архив). 1 или 0. По умолчанию - 0. |
order | str | Сортировка rand (случайно) или date (по дате завершения, потом по количеству). По умолчанию - date. |
count | int | Количество предложений. По умолчанию - 10. |
{block name="Catalog.CatalogDeal.List" active=1 soon=0 expired=0 sold=0 count=5 assign=products} {block name="Catalog.CatalogDeal.List" active=1 soon=1 expired=0 sold=0 count=5 assign=products order=rand}
Catalog.Product.Action
Список акционных товаров, для которых в панели управления установлены соответствующие флажки.
Параметр | Тип | Описание |
type | str | Тип акции: hot - горячие, new - новинки, hit - хиты, sale - распродажа, action - акция (по умолчанию), discount - скидка. |
order | str | Сортировка price (по цене), rand (случайно) или date (по новизне). По умолчанию - rand. |
count | int | Количество товаров. По умолчанию - 5. |
{block name="Catalog.Product.Action" assign="products" type="new" count=10} {block name="Catalog.Product.Action" assign="products" type="hot" count=10 order="rand"}
Catalog.Product.Articul
Поиск товара по артикулу.
Параметр | Тип | Описание |
articul | str | Артикул товара. |
{block name="Catalog.Product.Articul" assign="product" articul="Digistr-5"}
Catalog.Product.Articuls
Поиск товаров по их артикулам.
Параметр | Тип | Описание |
articuls | str | Артикулы товаров через запятую или точку с запятой. |
{block name="Catalog.Product.Articuls" assign="products" articul="Digistr-5;Digistr-14,Digistr-23"}
Catalog.Product.Id
Поиск товара по ID.
Параметр | Тип | Описание |
id | int | ID товара. |
{block name="Catalog.Product.Id" assign="product" id=5}
Catalog.Product.Timerpage
Акция с таймером.
Параметр | Тип | Описание |
count | int | Количество товаров. По умолчанию - 5. |
{block name="Catalog.Product.Timerpage" assign="product"}
Catalog.Product.WishList
Избранные товары.
{block name="Catalog.Product.WishList" assign="wishlist"}
Catalog.Product.CompareList
Товары для сравнения.
{block name="Catalog.Product.CompareList" assign="comparelist"}
Catalog.Product.Nightbours
Соседние товары.
Параметр | Тип | Описание |
id | int | ID текущего товара, для которого нужно загрузить соседние. |
{block name="Catalog.Product.Nightbours" assign="products" id=5} {block name="Catalog.Product.Nightbours" assign="products" id=$document.Product.id}
Catalog.Product.History
История просмотров.
Параметр | Тип | Описание |
count | int | Количество товаров. По умолчанию - 5. |
{block name="Catalog.Product.History" assign="products" count=10}
Catalog.Product.Category
Товары заданной категории, с учетом внутренних подкатегорий.
Параметр | Тип | Описание |
category | int | ID категории. |
order | str | Способ сортировки товаров: rand (по умолчанию, случайно), date - по новизне (новые вверху), price - по цене (возрастание). |
count | int | Количество товаров. По умолчанию - 5. |
{block name="Catalog.Product.Category" assign="products" count=10 category=5} {block name="Catalog.Product.Category" assign="products" count=10 category=$document.CatalogCategory.id order=date}
Catalog.Product.Brand
Товары заданного бренда.
Параметр | Тип | Описание |
brand | int | ID бренда. |
category | int | ID категории. |
order | str | Способ сортировки товаров: rand (по умолчанию, случайно), date - по новизне (новые вверху), price - по цене (возрастание). |
count | int | Количество товаров. По умолчанию - 5. |
{block name="Catalog.Product.Brand" assign="products" count=10 brand==$document.CatalogBrand.id category=5} {block name="Catalog.Product.Brand" assign="products" count=10 brand==5 category=5 order=date}
Catalog.Product.SearchExample
Пример поискового запроса.
{block name="Catalog.Product.SearchExample" assign="query"} <input type="search" value=""> Например, {$query}.
Catalog.ProductTag.Get
Теги для которых есть товары. Все или только для заданной категории.
Параметр | Тип | Описание |
category | int | ID категории для которой загрузить теги. Если не указано, то загружаются все теги с товарами. |
{block name="Catalog.ProductTag.Get" assign="alltags"} {block name="Catalog.ProductTag.Get" assign="categorytags" category=$document.CatalogCategory.id}