Как добавить новое поле в админку Virtuemart

Автор статьи Владимир Порохин - comnara[at]mail.ru
10.06.2010

Как создать галочку export в настройках товара VirtueMart

1. Нужно создать поле в базе данных выполнив этот запрос зайдя в админку phpMyAdmin закладка SQL
ALTER TABLE jos_vm_product ADD export CHAR( 1 ) NOT NULL ;

или чтобы не заходить в админку phpMyAdmin можно добавить строки в php и он автоматом создаст это поле но после одного запуска нужно их удалить

administrator\components\com_virtuemart\html\product.product_form.php в 126 строку добавить

перед строками
// Get category IDs
добавить это

$db5 = new ps_DB;
$q = "ALTER TABLE `#__{vm}_product` ADD `export` CHAR( 1 ) NOT NULL ;";
$db5->query($q);

2. Создаем галочку (checkbox) в админку по товару.
Находим этот код в

administrator\components\com_virtuemart\html\product.product_form.php приблизительно 203 строка

<tr class="row0"> 
<td width="21%" ><div style="text-align:right;font-weight:bold;">
_('PHPSHOP_PRODUCT_FORM_PUBLISH') ?>:</div>
</td>
<td width="79%" > <?php
if ($db->sf("product_publish")=="Y") {
echo "<input type=\"checkbox\" name=\"product_publish\" value=\"Y\" checked=\"checked\" />";
}
else {
echo "<input type=\"checkbox\" name=\"product_publish\" value=\"Y\" />";
}
?></td>
</tr>

после него добавляем код это и есть наша галочка

<tr class="row0">
<td width="21%" ><div style="text-align:right;font-weight:bold;">
_('PHPSHOP_PRODUCT_FORM_EXPORT') ?>:</div>
</td>
<td width="79%" > <?php
if ($db->sf("export")=="1") {
echo "<input type=\"checkbox\" name=\"export\" value=\"1\" checked=\"checked\" />";
}
else {
echo "<input type=\"checkbox\" name=\"export\" value=\"1\" />";
}
?></td>
</tr>

3. Делаем проверку состояния галочки в админке ВМ по товару

administrator\components\com_virtuemart\classes\ps_product.php приблизительно после строки 170

$d["product_publish"] = empty($d["product_publish"]) ? "N" : "Y";

добавляем нашу строку

$d["export"] = empty($d["export"]) ? "0" : "1";

4. Добавляем строку для добавления нового товара в функии add( &$d )

administrator\components\com_virtuemart\classes\ps_product.php примерно после строки 283

'product_publish' => $d['product_publish'],

добавляем нашу строку

'export' => $d['export'],

5. Добавлчем строку для изменения товара в функии update( &$d )

administrator\components\com_virtuemart\classes\ps_product.php примерно после строки 484

'product_publish' => $d['product_publish'],

добавляем нашу строку

'export' => $d['export'],

6. Делаем перевод описания параметра в админке ВМ по товару

administrator\components\com_virtuemart\languages\product\russian.php после строки 57

'PHPSHOP_PRODUCT_FORM_PUBLISH' => 'Опубликовать?',

добавляем нашу строку

'PHPSHOP_PRODUCT_FORM_EXPORT' => 'В наличии - для экспорта на торговые площадки',

Все желаю удачи можно пользоваться

 

От администрации сайта Inetta.RU:

Инструкция пошагово проверена. Работает 100%.

Электронные деньги


Яндекс.Деньги Webmoney

Наша контактная информация:  Москва, ул Петра Алексеева 12, Офис 1009    Телефоны: +7 (961) 140-84-44      +7 (495) 518-12-30

Авторизация