
Сниппет 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
}]