DenKuzmin Posted September 17, 2023 at 06:42 PM Share Posted September 17, 2023 at 06:42 PM (edited) Я добавил доп. товары с опциями в карточку товара. Проблема в том, что у меня теперь в цене товара NaN и цена не пересчитывается. Я так понял, что это из-за этого куска <operation> <search><![CDATA[value="<?php echo $option_value['product_option_value_id']; ?>"]]></search> <add position="replace"><![CDATA[value="<?php echo $option_value['product_option_value_id']; ?>" data-optid="<?php echo $option['option_id']; ?>" data-points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" data-prefix="<?php echo $option_value['price_prefix']; ?>" data-price="<?php echo $option_value['price_value']; ?>"]]></add> </operation> + срабатывания JS. $('input[name^="option"],select[name^="option"]').on('change', function() { recalculateprice(); }); Т.е. модуль прописывает в опции в доп.товаров нужные ему параметры и у меня получается такая ошибка <input type="radio" name="option[6042]" value="89139" data-optid="11" data-points="0" data-prefix="+" data-price="<b>Notice</b>: Undefined index: price_value in <b>.../system/storage/modification/catalog/view/theme/default/template/product/product.tpl</b>"> Как исключить эти input для модуля, если они находятся в контейнере .additional_products ? Не пойму как мне сделать, чтобы модуль не трогал опции в .additional_products Edited September 17, 2023 at 06:45 PM by DenKuzmin 0 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted September 17, 2023 at 06:58 PM Share Posted September 17, 2023 at 06:58 PM function() { recalculateprice(); }); пробуйте function() { if (!$(this).closest(".additional_products").length) { recalculateprice(); } }); 0 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
DenKuzmin Posted September 17, 2023 at 07:18 PM Author Share Posted September 17, 2023 at 07:18 PM В 17.09.2023 в 21:58, AlexDW сказал: пробуйте Получилось таким способом: $('input[name^="option"],select[name^="option"]').on('change', function() { recalculateprice(); }); заменил на $('input[name^="option"],select[name^="option"]').not('.additional_products input, .additional_products select').on('change', function() { recalculateprice(); }); и var $so = $('input[type="hidden"][name^="option"],input[name^="option"]:checked,select[name^="option"] option:selected'); заменил на var $so = $('input[type="hidden"][name^="option"],input[name^="option"]:checked,select[name^="option"] option:selected').not('.additional_products input, .additional_products select'); Цена в карточке пересчитывается нормально. NaN пропало. Но из за <operation> <search><![CDATA[value="<?php echo $option_value['product_option_value_id']; ?>"]]></search> <add position="replace"><![CDATA[value="<?php echo $option_value['product_option_value_id']; ?>" data-optid="<?php echo $option['option_id']; ?>" data-points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" data-prefix="<?php echo $option_value['price_prefix']; ?>" data-price="<?php echo $option_value['price_value']; ?>"]]></add> </operation> у меня ошибка в .additional_products input, а именно <input type="radio" name="option[1565]" value="25447" data-optid="11" data-points="0" data-prefix="+" data-price="<b>Notice</b>: Undefined index: price_value in <b>.../system/storage/modification/catalog/view/theme/default/template/product/product.tpl</b>" /> Не пойму как исключить из замены инпуты, которые в .additional_products, чтобы модуль их вообще не трогал. 0 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted September 17, 2023 at 07:42 PM Share Posted September 17, 2023 at 07:42 PM замените у них <?php echo $option_value['product_option_value_id']; ?> на <?php echo $option_value['product_option_value_id'];?> 0 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
DenKuzmin Posted September 17, 2023 at 07:51 PM Author Share Posted September 17, 2023 at 07:51 PM В 17.09.2023 в 22:42, AlexDW сказал: на <?php echo $option_value['product_option_value_id'];?> Это же одно и то же 0 Quote Link to comment Share on other sites More sharing options...
Solution AlexDW Posted September 17, 2023 at 07:54 PM Solution Share Posted September 17, 2023 at 07:54 PM В 18.09.2023 в 00:51, DenKuzmin сказал: Это же одно и то же Идет лекция у первокурсников мединститута. Преподаватель говорит: — Врач должен быть не только внимательным, но и не брезгливым. Смотрите, я окунаю палец в мочу и облизываю его. Кто может повторить? Все студенты "припухли", сидят. Один поднимается и повторяет действия профессора. Тот говорит: — Вы не брезгливы, это хорошо. Но, кроме того, врач должен быть наблюдательным. Я окунул один палец, а облизал другой. при такой замене модификатор не сможет ее изменить 1 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
DenKuzmin Posted September 17, 2023 at 08:07 PM Author Share Posted September 17, 2023 at 08:07 PM В 17.09.2023 в 22:54, AlexDW сказал: при такой замене модификатор не сможет ее изменить Понял. Спасибо большое! 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.