Как вывести поле 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">Цвет:&nbsp;[[+color]]</div>
          <div class="cart-t mb-3">[[+price]]&nbsp;&#8381;</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`
    ]]

    Этот метод подходит для фильтров или выпадающих списков, но не для вывода значения конкретного товара.

    Часто задаваемые вопросы