Вывод записей типа "товар"
Пример вызова компонента
{list_products id=$id limit="70" assign="products"}
id - идентификатор страницы, публикации которой нужно вывести
alias - мнемонический код страницы, публикации которой нужно вывести
spec - можно указать тип товаров (connected, visited, wishlist, compare, basket, search, spec и new), по умолчанию выводятся все
limit - количество записей. По умолчанию равно количеству записей на странице.
orderby - направление сортировки
ids - идентификаторы товаров через запятую
qtys - количество товаров через запятую для товаров из параметра ids (в том же порядке)
list_files_on - ставим 1, если требуется вывести массив загруженных файлов для каждого товара
list_photos_on - ставим 1, если требуется вывести массив всех загруженных фото для каждого товара
assign - название переменной, куда записать результат
Обратите внимание, для сбора данных о товарах страницы достаточно указать id или alias страницы, не обязательно указывать оба параметра.
В результате вызова компонента получим переменную $products с массивом, содержащую следующие поля:
spec - all (все) или заданный вариант
all - количество записей
pages - постраничная навигация (html-код генерирующий ссылки на страницы, если записей больше, чем задано в поле limit)
options - массив характеристик товаров
list - массив с товарами
price_min - минимальная цена для полученного списка товаров
price_max - максимальная цена для полученного списка товаров
ids - список товаров через запятую
accept_orders => 1 - доступен для заказов
active => 1 - показывается (обычно выводятся только активные товары)
alias => мнемонический код (участвует в построении URL)
barcode => Код товара (или модель)
bid_ya => Ставка для файла YML
categ_alias => мнемонический код страницы
categ_id => идентификатор страницы
categ_title => заголовок страницы
categ2_alias => мнемонический код верхней страницы
categ2_id => идентификатор верхней страницы
categ2_title => заголовок верхней страницы
categ3_alias => мнемонический код самой верхней страницы
categ3_id => идентификатор самой верхней страницы
categ3_title => заголовок самой верхней страницы
comment =>
comments_qty => количество комментариев
content => полное описание
currency => валюта (rur, euro, usd)
date => отформатированная дата добавления товара
date_insert => дата добавления
date_update => дата изменения
f_new => 1 или 0, метка для нового товара
f_spec => 1 или 0, метка для специального предложения
files_qty => количество файлов для товара
fotos_qty => количество фото для товара
id => идентификатор товара
id_categ => идентификатор страницы
id_gift => идентификатор товара для подарка
id_next_model => идентификатор новой версии товара
id_required => идентификатор товара, который должен быть заказан вместе с этим
id_site => идентификатор сайта
intro => краткое описание
link => ссылка на товар
link_basket => ссылка на добавление товара в корзину
link_idn => ссылка на товар для кириллического домена
monthviews => количество показов товара за последний месяц
pic => массив из фото по умолчанию в 4-х размерах
price => цена
price_formatted => отформатированная цена
price_old => старая цена
price_old_formatted => отформатированная старая цена
price_period => тип цены (razovo - по умолчанию, day - в день, week - в неделю, year - в год, from - от)
products_qty => количество связанных товаров
pubs_qty => количество связанных публикаций
qty => количество товара для покупки (по умолчанию 1)
time => отформатированное время
title => Заголовок
title_short => Адрес для карты (может использоваться, как дополнительный заголовок)
total_qty => количество товара в продаже
user_id => идентификатор пользователя, добавившего товар
views => количчество просмотров
weight_deliver => вес товара для доставки
options => массив характеристик товаров (описан ниже)
Выводится массив из 4-х размеров главного фото публикации (если загружено несколько, выводится первое)
[1] => Array(id => идентификатор фотоext => расширение (jpg, gif и т.д.)width => ширина фотоheight => высота фото
title => название фотоurl => полная ссылка на фото)[2] => Array(данные о фото в размере 2)[3] => Array(данные о фото в размере 3)[4] => Array(данные о фото в размере 4)
Array
(
[1] => Array
(
[1] => Array
(
url => ссылка на фото
title => заголовок
width => ширина
height => высота
id_in_record => число по порядку
id => идентификатор фото
ext => расширение
ext_h1 => доп.заголовок
ext_desc => доп.описание
ext_link => доп.примечание
)
[2] => Array(
размер 2 и т.д.
)
)
[2] => фото 2 и т.д.
)
Array(мнемонический код (alias) или ID => Array(id_product => идентификатор товара
title => название
value => значение
after => текст после значения
icon => иконка
type => тип (val, int, select, connected, checkbox, multicheckbox, date, datetime, categ, products)
group => идектификатор группы характеристик
alias => мнемонический код
opt_title => Название группы характеристик (если заголовок надо скрыть)
to_show => кому показывать (all, info - для контент-менеджеров, manager - для менеджеров, user - для пользователей, hidden - скрытое)
opt_value1 => Название характеристики 1
opt_value2 => Название характеристики 2
opt_value3 => Название характеристики 3
value2 => Значение для характеристики 2
value3 => Значение для характеристики 3
group_title => Заголовок группы характеристик
))
Array
(
[ID] => Array
(
id => идентификатор
url => ссылка на файл
direct_url => ссылка на файл
content => описание
file => путь к файлу
title => название
ext => расширение
size => размер файла
id_in_record => номер по порядку
allow_download => разрешено скачивание
direct_link => разрешена прямая ссылка
date => отформатированная дата файла
)
)
Например, нам надо вывести список новых товаров (отмеченных в панели администратора, как Новинка). Рассмотрим, как это сделать по шагам:
1. Создадим файл new.html в шаблоне сайта.
2. Назначим этот шаблон для страницы Новинки.
3. Теперь самое главное - открываем шаблон new.html и вызываем компонент со списком новых товаров на странице Новинки.
{list_products spec="new" assign="products"}
Далее выведем данные и настроим их внешний вид:
{foreach from=$products.list value="v"}
<p><img src="{$v.pic.1.url}" align="left"><a href="{$v.link}">{$v.title}</a><br>{$v.intro}</p>
{/foreach}
Всё, шаблон готов.
С помощью параметра spec можно задать такие виды списов:
connected - связанные товары (если where = product) или публикации (если where = pub).
visited - вывод просмотренных товаров.
wishlist - список отложенных товаров.
compare - список товаров для сравнения (в параметр ids передаются через запятую идентификаторы товаров).
basket - список товаров в корзине
new - новые товары
spec - специальные предложения
search - поиск по фразе. Фраза передается в GET параметре q.
Обычно сортировка задается в административной панели для каждой страницы (размела, категории). Однако можно задать и принудительную сортировку. Для этого в компоненте используется параметр sortby.
Варианты сортировки:
price - по цене
price_desc - по цене в обратном порядке
bid_ya - по ставке YML
bid_ya_desc - по ставке YML в обратном порядке
title - по заголовку
title_desc - по заголовку в обратном порядке
bitrix (3) шаблон (3) mobile (2) pagespeed (2) simpla (2) блоки (2) переменные (2) cms (1) email (1) google merchant center (1) hosting (1) seo (1) wordpress (1) валюты (1) константы (1) мобильная версия (1) платежи (1) посетители (1) рассылка (1) сравнение (1) теги (1) фильтр (1) шаблоны (1) яндекс маркет (1)