Не меняется цена в msOptionsPrice2

Доброго времени суток, друзья! Делаю интернет-магазин, и мне нужно настроить изменение цены в зависимости от веса продукта. Нашел дополнение msOptionsPrice2. Настраивал по документации, но что-то пошло не так и цена не меняется:( Если смотреть в браузере, то запрос через ajax идет, но цена не меняется.
Делал по следующему алгоритму:
— Завел опцию в минишоп с типом «множественный список», где перечислил весь продукта.
— У продукта добавил модификацию, в которой привязал цену к конкретной опции
— Сделал инициализацию [[!msOptionsPrice.initialize?]], в дальнейшем другие шаблоны наследуют этот шаблон
— Написал следущий чанк с классами
<div class="product-block ms2_product ">
      <form  method="post"  class="form-product ms2_form msoptionsprice-product">
        <div class="item">
            <a href="{$id | url}" class="msoptionsprice-name msoptionsprice-{$id}" title="{$pagetitle}">
                <div class="product-img">
                    {if $medium?}
                        <img src="{$medium}" alt="{$pagetitle}"/>
                    {else}
                        <img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
                             srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
                             alt="{$pagetitle}" title="{$pagetitle}"/>
                    {/if}
                </div>
                <div class="text">
                     <p class="product-name">{$pagetitle}</p>
                    <p class="price"><span class="msoptionsprice-cost msoptionsprice-{$id}">{$price}</span> руб</p>
                </div>

            </a>
            <div class="weight msoptionsprice-mass msoptionsprice-{$id}">
               {'!msOptionsPrice.option' | snippet : [
                   'product'=>$id,
                   'options'=>'packaging',
                   'tpl'=>'tpl.options-weight'
                ]}
                
        </div>
            <div class="btns">
                <button type="submit" name="ms2_action" value="cart/add" class="submit"><i class="sprite basket-item"></i>В корзину</button>
                <input type="text" class="msoptionsprice-count" name="count" value="1" class="count">
            </div>
           	<input type="hidden" name="id" value="{$id}">
            <input type="hidden" name="key" class="key-product" value="">
            <input type="hidden" name="options" value="[]">
          	{foreach $options as $name => $value}
				<input type="hidden" name="options[{$name}]" value="{$value}">
			{/foreach}
        </div>
    </form>  
</div>
— Создал чанк для вывода через msOptionsPrice.option
{foreach $options as $name => $values}
        {foreach $values as $value index=$index}
            <label  for="opt-{$value}" {if $index == 0}class="checked"{/if}>
            <input type="radio" value="{$values[$index]}" id="opt-{$value}" name="options[{$name}]" 
                {if $index == 0}checked="checked"{/if}
                />
                {$values[$index]}
            </label>
        {/foreach}
{/foreach}
Вообщем, не понимаю что делаю не так)
Morozko12
25 февраля 2018, 18:47
modx.pro
2 404
0

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

Володя
26 февраля 2018, 09:57
+1
Переместите
<input type="hidden" name="id" value="{$id}">
<input type="hidden" name="key" class="key-product" value="">
<input type="hidden" name="options" value="[]">
в начало формы, то есть сразу за
<form  method="post"  class="form-product ms2_form msoptionsprice-product">
ато получается при отправке данных вы затираете массив опций пустым массивом.
    Morozko12
    26 февраля 2018, 23:18
    0
    Действительно было в этом дело! Премного благодарен:)
    Володя
    26 февраля 2018, 09:58
    +2
    По вопросу работы платных дополнений следует писать в ТП компонента
    Спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3