Опции товара в заказе

Привет!
До того как задать вопрос я честно поискал тут похожие вопросы и даже нашел вроде как ответы.

Суть вот в чем: я добавил для товара три опции — две числовые и одна «выпадающий список». Цена товара от них не зависит, но мне хотелось бы эти опции видеть в заказе — я использую msListOrders для вывода заказов.

Я нашел, что нужно добавить опции в поле ms2_order_product_field и тогда они появятся как options у купленного товара в заказе. Я честно пробовал добавлять в виде option_[имя опции] и product_[имя опции] и просто имя опции в это поле. При этом указывал эти поля в форме добавления товара:
<input type="hidden" name="options[hours]" value="{$hours}">
<input type="hidden" name="options[ability_type]" value="{$ability_type}">
<input type="hidden" name="options[peoples]" value="{$peoples}">
Помогите пожалуйста вывести их у купленного товара. С меня пиво!
Андрей Сухомозгий
15 октября 2016, 18:39
modx.pro
1
2 149
0

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

Володя
15 октября 2016, 21:49
0
я честно не понял, что вы хотите сделать?
у продукта могут быть опции, при добавлении продукта в корзину они падают аналогично в options и так же видны в корзине их вывод есть в дефолтных чанках miniShop2.
При успешном сабмите заказа получаем заказ и продукты заказа с аналогичными свойствами и выводятся они абсолютно так же, в дефолтном чанке msListOrders это тоже есть.
В чем загвоздка?
    Андрей Сухомозгий
    15 октября 2016, 21:55
    0
    Я добавил опции в настройку:

    Опции я заполняю:

    В форме добавления товара указываю даже поля:
    <input type="hidden" name="options[hours]" value="{$hours}">
    <input type="hidden" name="options[ability_type]" value="{$ability_type}">
    <input type="hidden" name="options[peoples]" value="{$peoples}">
    Но в покупке я не вижу этих полей:
      Володя
      15 октября 2016, 22:01
      0
      поле Опции товара — они должны быть там. У вас пустой массив — значит их нет.
        Андрей Сухомозгий
        15 октября 2016, 22:02
        0
        Да, пустой) Вот я и спрашиваю тут — правильно ли я указываю имена в настройке и правильно ли в форме добавления в корзину поля указываю)
          Володя
          15 октября 2016, 22:05
          0
          указываете правильно, другой вопрос возможно эти поля у вас на странице товара, а на странице каталога их нет и товар пользователь может добавить без них и в корзину они не попадут и в товар заказа соответственно тоже.
            Андрей Сухомозгий
            15 октября 2016, 22:15
            0
            Володя) Стыдно мне… Ниже в форме добавления в корзину нашел еще вот такую строку:
            <input type="hidden" name="options[]">
            Затирало все опции вышеуказанные… Вот я лох
              Володя
              15 октября 2016, 22:17
              0
              ну бывает, че тут постыдного то)
      Андрей Сухомозгий
      15 октября 2016, 21:57
      0
      Ну и в чанке tpl.msListOrders.order
      {foreach $product.options | fromJSON as $key => $option}
      									<li>
      										{('ms2_product_' ~ $key) | lexicon}:{$option}
      									</li>
      								{/foreach}
                                    {$product.ability_type}, {$product.peoples} персоны,
                                    {if $product.hours == 0}
                                        Без ограничений по времени
                                    {else}
                                        {$product.hours | declension : 'час|часа|чосов' : true}
                                    {/if}
      Вот такой код ничего не выводит, потому что опции пустые приходят
        Володя
        15 октября 2016, 22:02
        0
        опции в $product.options
        вот этот код ничего не выведет
        {$product.ability_type}, {$product.peoples} персоны,
                                      {if $product.hours == 0}
                                          Без ограничений по времени
                                      {else}
                                          {$product.hours | declension : 'час|часа|чосов' : true}
                                      {/if}
          Володя
          15 октября 2016, 22:03
          0
          опции выводятся выше по коду
          {foreach $product.options| fromJSON as $key => $option}
          <li>
          	{('ms2_product_' ~ $key) | lexicon}:{$option}
          </li>
          {/foreach}
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        10