Смысл модуля таков, что пока посетитель не выберет из выпадающего списка храрктеристик значение, то кнопка "в корзину" не будет показываться.
Инструкция:
Открываем файл product_brief.tpl.html
в нем находим форму name="MainForm1_{$product_info.productID}"
в ней видим 2 варианта select. в select`ах находим
onChange="GetCurrentCurrency_{$product_info.productID}();"заменяем на
onChange="GetPar_{$product_info.productID}(); GetCurrentCurrency_{$product_info.productID}();"
ищем в этом же файле (в стандартном шаблоне чуть ниже этой формы)
function GetCurrentCurrency_{$product_info.productID}() внутри JS
перед закрывающим тегом </script> вставляем
function GetPar_{$product_info.productID}() {literal}{{/literal} {counter name='select_counter2' start=1 skip=1 print=false assign='select_counter_var2'} {section name=i loop=$product_info.product_extra} {section name=k loop=$product_info.product_extra[i].option_show_times} dsp = document.MainForm1_{$product_info.productID}.option_select_{$select_counter_var2}_{$product_info.productID}.value; {/section} {/section} if (dsp == "0:1"){literal}{{/literal} document.getElementById('GetP_{$product_info.categoryID}').style.display="none"; {literal}}{/literal} else{literal}{{/literal} document.getElementById('GetP_{$product_info.categoryID}').style.display="block"; {literal}}{/literal} {literal}}{/literal}
Сразу должен внести поправочку - данный способ работает в том случае, когда у вас есть вариант характеристики "не выбрано" или что-то в этом роде. строка if (dsp == "0:1") проверяет value у select`a (если данная переменная у вас не рована 0:1, то замените ее на нужное значение).
Далее ищем в этом же файле форму с корзиной (name="HiddenFieldsForm_{$product_info.productID}")
вставляем перед ней
<div id="GetP_{$product_info.categoryID}" style="display: none;">и после окончания формы, соответственно закрываем
</div>
Для product_brief закончили.
теперь перейдем к product_detailed.tpl.html
Аналогично форму с корзиной заключаем в
<div id="GetP" style="display: none;"> </div>Для селектов харктеристик в onCange добавляем GetPar();
В скрипт перед </script>
вставляем
function GetPar() {literal}{{/literal} {counter name='select_counter2' start=1 skip=1 print=false assign='select_counter_var2'} {section name=i loop=$product_extra} {section name=k loop=$product_extra[i].option_show_times} dsp = document.MainForm.option_select_{$select_counter_var2}.value; {counter name=select_counter2} {/section} {/section} if (dsp == "0:1"){literal}{{/literal} document.getElementById('GetP').style.display="none"; {literal}}{/literal} else{literal}{{/literal} document.getElementById('GetP').style.display="block"; {literal}}{/literal} {literal}}{/literal}
По поводу строки if (dsp == "0:1"), аналогичное замечание, как и для product_brief
Вот в общем-то и все. Спасибо за внимание.