Вывод размеров товара в вызове msProducts

Подскажите пожалуйста как в вызове msproducts вывести выбор размера товара?

Пробовал тремя способами,
(1) закоментированный код minishop2_option.size [[+option.size]] — не выводит ничего
(2) закоментированный код minishop2_size [[+size]] — не выводит список, просто пустой span
(3) вызов [[!msOptions? &name=`size` &product=`[[+id]]`]] — выводит список выбора размера, но в корзину попадает без размера

вызов msproducts
[[!msProducts? &parents=`3` &tpl=`ms2_catalog_tpl`]]
чанк ms2_catalog_tpl
<form method="post" class="ms2_form">
Размер: [[!msOptions? &name=`size` &product=`[[+id]]`]]
[[+option.size]]
[[+size]]
<input type="hidden" name="id" value="[[+id]]">
<input type="hidden" name="count" value="1">
<input type="hidden" name="options" value="[]">
<div class="price">[[+price]]  [[%ms2_frontend_currency]]</div>
<button class="btn btn-default button" type="submit" name="ms2_action" value="cart/add">Купить</button>
</form>
<!--minishop2_option.size [[%ms2_frontend_size]]: [[+option.size]];-->
<!--minishop2_size <span>[[+size]]</span>-->
miniShop2 2.1.7
pdotools 1.9.2
MODX Revolution 2.2.14-pl
soch
19 июля 2014, 07:48
modx.pro
2
6 133
0

Комментарии: 8

Сергей
19 июля 2014, 17:11
0
выводит список выбора размера, но в корзину попадает без размера
А вы правили чанк tpl.msCart.row, чтобы там выводилась информация о размере?
    soch
    19 июля 2014, 17:52
    0
    В корзине размер выводится, в чанке tpl.msCart.row код такой
    [[+option.size]]
    <!--minishop2_option.size [[%ms2_frontend_size]]: [[+option.size]];-->
    мне же надо в вызове msProducts вывести (каталог товаров)
    Rootiys
    19 июля 2014, 18:41
    0
    Попробуй так:

    tpl.msProducts.row:
    [[msOptions?
    &name=`size`
    &product=`[[+id]]`
    &tplOuter=`Product.Sizes.Outer`
    &tplRow=`Product.Sizes.Row`
    ]]

    Product.Sizes.Outer:
    Размеры:
    <div>
    [[+rows]]
    </div>
    Product.Sizes.Row:
    <label>
    <span>[[+value]]</span>
    <input type="radio" name="options[[[+name]]]" value="[[+value]]">
    </label>
      soch
      19 июля 2014, 19:14
      0
      Результат такой-же как и в случае с кодом
      Размер: [[!msOptions? &name=`size` &product=`[[+id]]`]]
      список размеров выводится, но после нажатия на кнопку «В корзину» товар попадает без размеров

      тут задавался схожий вопрос, но то решение у меня не работает

      лог msProducts
      0.0000801: xPDO query object created
      0.0003800: leftJoined msProductData as Data
      0.0002999: leftJoined msVendor as Vendor
      0.0011749: leftJoined msProductFile as 320х0
      0.0000050: Grouped by msProduct.id
      0.0001228: Added selection of msProduct: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
      0.0000451: Added selection of msProductData: `article`, `price`, `old_price`, `weight`, `image`, `thumb`, `vendor`, `made_in`, `new`, `popular`, `favorite`, `tags`, `color`, `size`, `source`
      0.0000520: Added selection of msVendor: `name` AS `vendor.name`, `resource` AS `vendor.resource`, `country` AS `vendor.country`, `logo` AS `vendor.logo`, `address` AS `vendor.address`, `phone` AS `vendor.phone`, `fax` AS `vendor.fax`, `email` AS `vendor.email`, `description` AS `vendor.description`, `properties` AS `vendor.properties`
      0.0000348: Added selection of msProductFile: `url` as `320х0`
      0.0011551: Processed additional conditions
      0.0018771: Added where condition: class_key=msProduct, template:==6, msProduct.parent:IN(26), OR:msProduct.id:IN(73), msProduct.published=1, msProduct.deleted=0
      0.0000951: Sorted by msProduct.publishedon, ASC
      0.0000069: Limited to 100, offset 
      0.0005538: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `msProduct`.`id`, `msProduct`.`type`, `msProduct`.`contentType`, `msProduct`.`pagetitle`, `msProduct`.`longtitle`, `msProduct`.`description`, `msProduct`.`alias`, `msProduct`.`link_attributes`, `msProduct`.`published`, `msProduct`.`pub_date`, `msProduct`.`unpub_date`, `msProduct`.`parent`, `msProduct`.`isfolder`, `msProduct`.`introtext`, `msProduct`.`richtext`, `msProduct`.`template`, `msProduct`.`menuindex`, `msProduct`.`searchable`, `msProduct`.`cacheable`, `msProduct`.`createdby`, `msProduct`.`createdon`, `msProduct`.`editedby`, `msProduct`.`editedon`, `msProduct`.`deleted`, `msProduct`.`deletedon`, `msProduct`.`deletedby`, `msProduct`.`publishedon`, `msProduct`.`publishedby`, `msProduct`.`menutitle`, `msProduct`.`donthit`, `msProduct`.`privateweb`, `msProduct`.`privatemgr`, `msProduct`.`content_dispo`, `msProduct`.`hidemenu`, `msProduct`.`class_key`, `msProduct`.`context_key`, `msProduct`.`content_type`, `msProduct`.`uri`, `msProduct`.`uri_override`, `msProduct`.`hide_children_in_tree`, `msProduct`.`show_in_tree`, `msProduct`.`properties`, `Data`.`article`, `Data`.`price`, `Data`.`old_price`, `Data`.`weight`, `Data`.`image`, `Data`.`thumb`, `Data`.`vendor`, `Data`.`made_in`, `Data`.`new`, `Data`.`popular`, `Data`.`favorite`, `Data`.`tags`, `Data`.`color`, `Data`.`size`, `Data`.`source`, `Vendor`.`name` AS `vendor.name`, `Vendor`.`resource` AS `vendor.resource`, `Vendor`.`country` AS `vendor.country`, `Vendor`.`logo` AS `vendor.logo`, `Vendor`.`address` AS `vendor.address`, `Vendor`.`phone` AS `vendor.phone`, `Vendor`.`fax` AS `vendor.fax`, `Vendor`.`email` AS `vendor.email`, `Vendor`.`description` AS `vendor.description`, `Vendor`.`properties` AS `vendor.properties`, `320х0`.`url` as `320х0` FROM `modx_site_content` AS `msProduct` LEFT JOIN `modx_ms2_products` `Data` ON `msProduct`.`id`=`Data`.`id` LEFT JOIN `modx_ms2_vendors` `Vendor` ON `Data`.`vendor`=`Vendor`.`id` LEFT JOIN `modx_ms2_product_files` `320х0` ON `320х0`.`product_id` = `msProduct`.`id` AND `320х0`.`parent` != 0 AND `320х0`.`path` LIKE '%/320х0/' WHERE  ( `msProduct`.`class_key` = 'msProduct' AND `msProduct`.`template` = 6 AND  ( `msProduct`.`parent` IN (26) OR `msProduct`.`id` IN (73) )  AND `msProduct`.`published` = 1 AND `msProduct`.`deleted` = 0 )  GROUP BY msProduct.id ORDER BY msProduct.publishedon ASC LIMIT 100 "
      0.0015631: SQL executed
      0.0002010: Total rows: 1
      0.0000441: Rows fetched
      0.0000970: Returning raw data
      0.0014520: Checked the active modifiers
      0.0015988: Loaded chunk "ms2_catalog_tpl"
      0.0180881: Returning processed chunks
      0.0303268: Total time
      18 350 080: Memory usage
      0.7536 s
      soch
      23 июля 2014, 17:06
      0
      Решил проблему изменив код в чанке msproducts

      вызов msProducts
      
      [[!msProducts? &tpl=`ms2_catalog_tpl` &parents=`[[*id]]` &includeContent=`1` ]]
      
      чанк ms2_catalog_tpl
      
      <form class="form-horizontal ms2_form" method="post">
      <input type="hidden" name="id" value="[[+id]]" />
      <input type="hidden" name="count" value="1">
      <input type="hidden" name="options" value="[]">
      [[!msOptions? &name=`size` &product=`[[+id]]`]]
      <input type="number" name="count" id="product_price" class="input-sm form-control" value="1" />
      <button type="submit" class="btn btn-default button" name="ms2_action" value="cart/add">Купить</button>
      </form>
      как вывести размеры через тег [[+size]] не разобрался
      возможно в вызове msProducts нужно добавить параметры, чтобы он включал в выборку размеры товара
        Nixon
        04 октября 2014, 19:36
        0
        Спасибо, очень помог ваш ответ!

        Поясню для тех, кто столкнется с подобной же проблемой.
        Скрытые инпуты:
        <input type="hidden" name="id" value="[[+id]]" />
        <input type="hidden" name="count" value="1">
        <input type="hidden" name="options" value="[]">
        Нужно ставить сразу после вызова формы в чанке, тогда у вас размеры будут попадать в корзину из каталога.
        Игорь Улькин
        24 декабря 2014, 18:47
        0
        Поделюсь свое проблемкой:
        Тоже не выводились свойства в корзине. Решилось прописыванием вручную в Product.Sizes.Row:

        автоматом почему то не подставлялось поле
        [[+name]]
        поэтому просто прописал
        name="options[size]" и name="options[color]"
          mayushi
          30 июня 2021, 00:22
          0
          [[!msOptions? 
                  &name=`size` 
                  &product=`[[+id]]` 
                  &tpl=``
                  ]]
          мы видим зелоебучий массив. просто так значение не вытащить.
          используем феном и получаем доступ к массиву
          {'msOptions' | snippet : [
                    'name' => 'size'
                    'product' => $id,
                    'tpl' => '@INLINE {$options.size[0]}'
                  ]}
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            8