English (United Kingdom)Russian (CIS)
Делаем удобное изменение цен в 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 можно ниже.