Jump to content

Помогите с модулем Обновление цены при выборе опции, без AJAX - HYPER Dynamic price of options


DenKuzmin
 Share

Go to solution Solved by AlexDW,

Recommended Posts

Я добавил доп. товары с опциями в карточку товара. Проблема в том, что у меня теперь в цене товара 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 by DenKuzmin
Link to comment
Share on other sites

В 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, чтобы модуль их вообще не трогал.

Link to comment
Share on other sites

  • Solution
В 18.09.2023 в 00:51, DenKuzmin сказал:

Это же одно и то же

Идет лекция у первокурсников мединститута. Преподаватель говорит:
— Врач должен быть не только внимательным, но и не брезгливым. Смотрите, я окунаю палец в мочу и облизываю его. Кто может повторить?
Все студенты "припухли", сидят. Один поднимается и повторяет действия профессора. Тот говорит:
— Вы не брезгливы, это хорошо. Но, кроме того, врач должен быть наблюдательным. Я окунул один палец, а облизал другой.

 

при такой замене модификатор не сможет ее изменить

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...