Сниппет getRemains
Сниппет для вывода количество оставшихся товаров. Может выводить как общее количество остатков по всем свойствам, так и по указанной комбинации свойств товара.
Если вызвать сниппет без указания одной или нескольких свойств, результатом вызова станет общее количества остатков по всем комбинациям свойств.
Параметры
Название | По умолчанию | Описание |
---|---|---|
&id | Resource ID | ID товара |
&color | Цвет товара | |
&size | Размер товара | |
&return | data | Вернуть число (data) или массив данных (json) |
Варианты вызова
Для более правильного и точного подсчёта остатков, сниппет должен вызываться некэшированным.
Для получения общего количества остатков на странице товара:
modx
[[!getRemains]]
Для получения количества остатков определённой комбинации свойств:
modx
[[!getRemains?
&id=[[+id]]
&color=`color`
&size=`size`
]]
Для записи вызова в плейсхолдер необходимо использовать стандартный фильтр MODX:
modx
[[!getRemains:toPlaceholder=`remains`?
&id=[[+id]]
&color=`color`
&size=`size`
]]
Массив данных об остатках
При вызове сниппета следующим образом
modx
[[!getRemains? &return=`json`]]
в ответ будет получен массив данных об остатках товара, например, такой:
json
[{
"id": 112,
"options": {
"color": "Красный",
"size":"Малый"
},
"remains": 56
},
{
"id": 113,
"options": {
"color": "Синий",
"size": "Большой"
},
"remains": 0
},
{
"id": 114,
"options": {
"color": "Синий",
"size": "Малый"
},
"remains": 75
}]