Я в php особо не разбираюсь, поэтому попробую топорный метод. Создать дополнительное поле и в него добавлять имя файла изображения, а путь и вывод картинки подготовить в шаблоне карточке товара и категории. Если получится отпишусь...
Грубо, но вышло. Может кому пригодится
1. Создаем дополнительное поле в админке по вот этому методу (Stechkin) http://joomlaforum.ru/index.php/topic,230522.0.html,
только в место product_sky2 (как там) везде указываем product_hit
Добавим поле в файле: administrator\components\com_virtuemart\views\product\tmpl\product_edit_information.php строка ~ 44
Код:
<td width="21%" >
<div style="text-align:right;font-weight:bold;"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_FORM_SKU')?></div>
</td>
<td width="79%" height="2">
<input type="text" class="inputbox" name="product_sku" id="product_sku" value="<?php echo $this->product->product_sku; ?>" size="32" maxlength="64" />
</td>
</tr>
//=========наш код для нового поля===
</tr>
<tr>
<td width="21%" >
<div style="text-align:right;font-weight:bold;"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_HIT')?></div>
</td>
<td width="79%" height="2">
<input type="text" class="inputbox" name="product_hit" id="product_hit" value="<?php echo $this->product->product_hit; ?>" size="32" maxlength="64" />
</td>
</tr>
//================================
теперь у нас есть еще одно поле:
2. В файле administrator\language\ru-RU\ru-RU.com_virtuemart.ini
вставляем
COM_VIRTUEMART_PRODUCT_HIT="Хит(hit), новинка(new), скидка(sale)"
это название поля в админке
3. Добавим поле в БД: d табл. virtuemart_products, добавляем поле product_hit с атрибутам: varchar (type) с длиной(Length/Values) - 255
4. в файле administrator\components\com_virtuemart\helpers\shopfunctions.php находим строку
$filterArray = array('product_name',
и вставляем туда после
'`p`.product_sku',
наше значение
'`p`.product_hit',
после этих шагов в админке должно появиться и редактироваться следующее
Далее
5. Создаем картинки new.png, sale.png, hit.phg и кидаем в ваш_сайт/images
6. Вставить в шаблон категории следующее
<img style="float:right; margin-bottom:-20px; position:relative; top:0px; right:0px;" src="images/<? echo $product->product_hit;?>.png" width="95" height="25" />
у меня это перед div-ом где выводится картинка товара, т.е. вот так
<img style="float:right; margin-bottom:-20px; position:relative; top:0px; right:0px;" src="images/<? echo $product->product_hit;?>.png" width="95" height="25" />- это наш вставленный код
<div style="margin-left:-10px">
<?php /** @todo make image popup */
echo $product->images[0]->displayMediaThumb ('class="browseProductImage" border="0" title="' . $product->product_name . '" ', TRUE, 'class="modal"');
?>...
Тот же код вставляем в шаблон для главной страницы
7. Для страницы товара перед выводом картинки товара
<?php
echo $this->loadTemplate('images');
?>
вставляем следующее
<img style="float:right; margin-bottom:-20px; position:relative; top:0px; right:0px;" src="images/<?Php echo $this->product->product_hit; ?>.png" width="95" height="25" />
8. Для того чтоб появилась иконка, в админке указываем имя файла (без расширения) нужной иконки, например new для новинок
Ну вот вроде и все.
Если иконка стоит криво поиграйте со значениями top:0px; right:0px; в стилях
p.s. Конечно лучше для каждой картинке сделать свое доп. поле чекбоксами, но меня пока и это решение устраивает... и ЕЩЕ лучше вывод иконок в шаблонах оформить стилями, чтоб не было пустых картинок при не вписанном значении, смотреть в ответах ниже