Случилось как-то раз так, что в стандартном шаблоне Virtuemart (в карточке товара) отказалось работать увеличение/уменьшение количества товара при помощи стрелочек (которые на самом деле кнопки).
Исправляем.Не мудрствуя, открываем файл \components\com_virtuemart\themes\default\templates\product_details\includes\quantity_box_general.tpl.php (именно он отвечает за вывод надписи «Количество: » и выбора этого самого количества), перемещаемся практически в самый конец к строчкам 44-49 и меняем это:
default: $html .= '<input type="text" class="inputboxquantity" size="4" id="quantity'.$prod_id.'" name="quantity[]" value="'.$quantity.'" /> <input type="button" class="quantity_box_button quantity_box_button_up" onclick="var qty_el = this.parentNode.elements[\'quantity[]\']; var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;return false;" /> <input type="button" class="quantity_box_button quantity_box_button_down" onclick="var qty_el = this.parentNode.elements[\'quantity[]\']; var qty = qty_el.value; if( !isNaN( qty ) && qty > 0 ) qty_el.value--;return false;" /> '; break;
на это:
default: $html .= '<input type="text" class="inputboxquantity" size="4" id="quantity'.$prod_id.'" name="quantity[]" value="'.$quantity.'" /> <input type="button" class="quantity_box_button quantity_box_button_up" onclick="var qty_el = document.getElementById(\'quantity'.$prod_id.'\'); var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;alterQuantity(this.form);return false;" /> <input type="button" class="quantity_box_button quantity_box_button_down" onclick="var qty_el = document.getElementById(\'quantity'.$prod_id.'\'); var qty = qty_el.value; if( !isNaN( qty ) && qty > 0 ) qty_el.value--;alterQuantity(this.form);return false;" /> '; break;
Спасибо, дельная статья, помогло! Не могли бы вы разжевать в чем соль проблемы была?)
Честно говоря, я не вникал, было лень 🙂 Просто заметил, что в одном месте работает, а в другом — нет ))
Спасибо.
Я так поняла, это для virtuemart 1. А для virtuemart 2 есть что-то подобное?
Елена, совершенно верно. Это для 1.1. Для второй версии даже как-то и не озадачивался, оно всегда само работало, без пинка. Посмотрите в консоль на предмет ошибок JS, может это что-то вам скажет, в какую сторону копать.
Виртумартом уже давно не занимаюсь, да и вообще джумлой, поэтому уже не вспомню, где там и что нужно смотреть в шаблонах.
Навскид: посмотрите ошибки JS в консоли, посмотрите шаблоны форм «купить». Вполне вероятно, что если у вас стоит какая-то сторонняя тема — там это либо как-то настраивается, либо вообще такая возможность отсутствует как класс и надо писать ее руками.