Делаем удобное изменение цен в VirtueMart2 в списке товаров |
В старой версии VirtueMart была такая полезная функция, как редактирование цен на товары прямо из списка товаров в административной панели магазина. Теперь этого нет, и нужно заходить в карточку товара. Помимо того, что это жутко неудобно, на это тратится много времени, особенно, если нужно поменять цены на большое количество товаров.
К счастью, добавить такой функционал к VM2 не очень сложно. Нужно сделать небольшие изменения всего в двух файлах: administrator/components/com_virtuemart/views/product/tmpl/default.php Здесь мы вставим ссылку на цену товара, кликнув по которой будет сделан вызов окошка для изменения цены. Для этого нужно найти строку echo isset($product->product_price_display)? $product->product_price_display:JText::_('COM_VIRTUEMART_NO_PRICE_SET') у меня это строка 150 и заменить ее на $this->document->addScript(JURI::root(true).'/administrator/components/com_virtuemart/assets/js/lsd25.js'); echo isset($product->product_price_display)? '<a href="javascript:void(0)" onclick="getBoxPrice(this,' .$product->virtuemart_product_id.')">'.$product->product_price_display .'</a>':JText::_('COM_VIRTUEMART_NO_PRICE_SET') Теперь добавим стили в файл administrator/components/com_virtuemart/assets/css/admin.styles.css .alertboxprice { left: 50%; margin-top: -100px; position: fixed; top: 50%; clip: rect(auto 150px auto 150px); width: 260px; margin-left: -130px; z-index: 10; border: 7px solid #F6F6F6; } #box1_close { background-color: #FF0000; border: 2px solid #FFFFFF; float: right; height: 12px; width: 12px; } #box1_iner { padding: 20px 20px 10px; box-shadow: 0 3px 5px #ccc; background-color: #FAF8F9; border-top: 1px solid #FFFFFF; } #box1_links { margin: 30px auto; } #box1_links a { margin: 10px; text-decoration: none; border: 1px solid #CCC; padding: 3px 10px; color: #666; } #box1_iner_text input { margin: 5px auto; }
Это в общем все изменения, которые нужно сделать. Осталось только добавить два новых файла в папки магазина.
administrator/components/com_virtuemart/controllers/boxprice.php administrator/components/com_virtuemart/assets/js/lsd25.js Это скрипты, которые будут передавать и обрабатывать полученную информацию. Скачать файлы boxprice.php и lsd25.js можно ниже. |