Как вывести поле color в msProducts через pdoPage
При работе с интернет-магазином на MODX Revolution часто требуется отобразить характеристики товаров, такие как цвет (color) или размер (size). В MiniShop2 эти данные хранятся в опциях (options) товара. Чтобы вывести их в чанке, необходимо правильно настроить вызов сниппета pdoPage и шаблон tpl. Рассмотрим пошаговую инструкцию.
Настройка вызова pdoPage для опций
В параметре &options перечисляются системные имена опций, которые нужно загрузить для каждого товара. Например:
[[!pdoPage?
&element=`msProducts`
&options=`color,size`
&parents=`[[+id]]`
&limit=`0`
&tpl=`tpl.msProducts`
]]Здесь color и size - это идентификаторы опций, созданных в админке MiniShop2. Параметр &limit=0 отключает постраничную навигацию, а &parents указывает на родительский ресурс.
Создание чанка tpl.msProducts
В шаблоне товара (tpl) поля опций доступны через плейсхолдеры с их системными именами. Для цвета используйте [[+color]], для размера - [[+size]]. Пример чанка:
<div class="col-12 col-md-6 col-lg-3 mb-5">
<div class="card border-0">
<img src="[[+thumb]]" class="card-img-top image-t-top" alt="[[+pagetitle]]">
<div class="card-body text-center">
<h2 class="card-title card-t mb-3">[[+pagetitle]]</h2>
<div class="cart-t mb-3">Цвет: [[+color]]</div>
<div class="cart-t mb-3">[[+price]] ₽</div>
<a href="#" class="btn btn-outline-secondary btn-t" role="button" data-bs-toggle="button">Посмотреть еще</a>
</div>
</div>
</div>Проверка и отладка
Если поле color не отображается, проверьте следующее:
- Опция color должна быть создана в разделе «Настройки» → «Опции товаров» MiniShop2.
- У каждого товара должно быть заполнено значение опции color.
- Параметр
&optionsв вызове pdoPage обязан содержать точное системное имя опции. - Используйте
&showLog=`1`для вывода лога запроса и поиска ошибок.
Альтернативный способ: выборка через msOptions
Если нужно вывести только список доступных цветов для каталога, используйте сниппет msOptions:
[[!msOptions?
&options=`color`
&parent=`123`
]]Этот метод подходит для фильтров или выпадающих списков, но не для вывода значения конкретного товара.