msOptionPrice2 checkbox
Вот пример как я пытаюсь его вывести:
[[!msProductOptions?
&tpl=`optionTplAllOptions`
&onlyOptions=`razmer,dough,addition`
&sortOptions=`razmer:SORT_DESC:SORT_NUMERIC`
&toPlaceholder=`all_options`
]]
[[!+all_options:notempty=`
[[!+all_options]]
`]]
А это шаблон: {foreach $options as $name => $params}
{if $name == 'razmer'}
<div class="productRazmerModal productOption">
{foreach $params.value as $key => $value}
<div class="option-row option-col-3">
<input type="radio" id="razmer_{$name}_{$value}" name="options[{$name}]" class="optionInputRadio" value="{$value}">
<label class="optionProductLabel" for="razmer_{$name}_{$value}">{$value} см</label>
</div>
{/foreach}
</div>
{/if}
{if $name == 'dough'}
<div class="productDoughModal productOption">
{foreach $params.value as $key => $value}
<div class="option-row option-col-2">
<input type="radio" id="dough_{$name}_{$value}" name="options[{$name}]" class="optionInputRadio" value="{$value}" >
<label class="optionProductLabel" for="dough_{$name}_{$value}">{$value}</label>
</div>
{/foreach}
</div>
{/if}
{if $name == 'addition'}
<div class="productAdditionModal productOption">
{foreach $params.value as $key => $value}
<div class="option-row-grid option-grid">
<input type="checkbox"
id="addition_{$name}_{$value}"
name="addition[{$name}][]"
class="optionInputRadio"
value="{$value}"
data-price="[[!getMIGXItem? &searchKey={$value} &pole=price &tvName=doppizza &idres=92]]"
data-weight="[[!getMIGXItem? &searchKey={$value} &pole=weight &tvName=doppizza &idres=92]]">
<label class="optionProductLabel" for="addition_{$name}_{$value}">
<div class="optionImage">
<img src="[[!getMIGXItem? &searchKey={$value} &pole=image &tvName=doppizza &idres=92]]" alt="">
</div>
<div>[[!getMIGXItem? &searchKey={$value} &pole=title &tvName=doppizza &idres=92]]</div>
</label>
</div>
{/foreach}
</div>
{/if}
{/foreach}
В итоге вробе бы выводится, но цены считаются не корректно, а именно при выборе любой опции (не важно radio или checkbox) общая цена пересчитывается с учетом цены всех опций checkbox котоыре есть (что довольно странное поведение) и если убрать галочку с checkbox то цена обрано не пересчитвается… Вот такой вот баг прямо из коробки. Это больше вопрос к разработчику, т.к компонент продается за деньги, а работоспособность оставляет желать лучшего.Комментарии: 5
если убрать галочку с checkbox то цена обрано не пересчитваетсяА вы в консоли браузера смотрели уходит ли пр и этом запрос на сервер и есть ли в нём значение опции?
общая цена пересчитывается с учетом цены всех опций checkbox котоыре естьmsOptionsPrice2 вообще не рассчитывает цену, он выбирает модификацию по переданным опциям и подставляет её цену в качестве цены товара. Тут нужно смотреть какие опции содержит каждая конкретная модификация.
Array
(
[razmer] => 30
[dough] => Тонкое
[modifications] => Array
(
[0] => 29
[1] => 31
[2] => 51
[3] => 52
[4] => 53
)
[modification] => 0
) вот такой массив уходит в корзину при выборе только одной опции. Я выбрал размер (это 29 модификация) и должна была отправится ещё 31 модификация(она по умолчанию выбрана), а вот почему отправляется 51,52,53 (это checkbox) которые даже не выбраны… Не понятно!
(
[razmer] => 30
[dough] => Тонкое
[modifications] => Array
(
[0] => 29
[1] => 31
[2] => 51
[3] => 52
[4] => 53
)
[modification] => 0
) вот такой массив уходит в корзину при выборе только одной опции. Я выбрал размер (это 29 модификация) и должна была отправится ещё 31 модификация(она по умолчанию выбрана), а вот почему отправляется 51,52,53 (это checkbox) которые даже не выбраны… Не понятно!
Очевидно, что модификация не определена, поскольку modification = 0. Это означает, что либо некорректно заданы опции в модификации, либо с фронта передаются некорректные значения.
Спасибо! За ответ… Буду искать почему так. Жаль документации нет к компоненту…
Спасибо! За ответ… Буду искать почему так. Жаль документации нет к компоненту…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.