Сам сделал, инструкцию по ходу написал, может кому пригодится.
Добавление нового (дополнительного) поля в карточку описания категории.
Jommla 1.5.10 + VirtueMart 1.1.4
Запрос в БД - добавляем новое поле в таблицу
ALTER TABLE `jos_vm_category` ADD `doppole` VARCHAR( 255 ) NOT NULL ;
---
Файл administrator\components\com_virtuemart\html\product.product_category_form.php
Псле
<tr>
<td ><div align="right">
<?php echo $VM_LANG->_('PHPSHOP_CATEGORY_FORM_FLYPAGE')?>:</div>
</td>
<td valign="top">
<?php
echo ps_html::list_template_files( "category_flypage", 'product_details', str_replace('shop.', '', $db->sf("category_flypage")) );
?>
</td>
</tr>
Добавляем
<tr>
<td colspan="2"><br /></td>
</tr>
<tr>
<td ><div align="right">
Название дополнительного поля:</div>
</td>
<td valign="top">
<input type="text" class="inputbox" size="20" name="doppole" value="<?php $db->sp("doppole"); ?>" />
</td>
</tr>
--
Файл administrator\components\com_virtuemart\html\shop.browse.php
После
$desc = vmCommonHTML::ParseContentByPlugins( $desc );
Добавляем
$doppole = $ps_product_category->get_doppole($category_id);
$doppole = vmCommonHTML::ParseContentByPlugins( $doppole );
Ниже
После
$tpl->set( 'category_name', $category_name );
Добавляем
$tpl->set( 'doppole', $doppole );
---
Файл administrator\components\com_virtuemart\classes\ps_product_category.php
После
'category_name' => vmGet( $d, 'category_name' ),
Добавляем
'doppole' => vmGet( $d, 'doppole' ),
Находим еще раз
'category_name' => vmGet( $d, 'category_name' ),
И ниже еще раз добавляем
'doppole' => vmGet( $d, 'doppole' ),
Далее после
return $db->f("category_description");
}
Добавляем
function get_doppole($category_id) {
$db = new ps_DB;
$q = "SELECT category_id, doppole FROM #__{vm}_category ";
$q .= "WHERE category_id='$category_id' ";
$db->setQuery($q); $db->query();
$db->next_record();
return $db->f("doppole");
}