пятница, 15 апреля 2011 г.

Вывод дополнительных полей при просмотре категорий.

Здесь я не создавал собственных полей. Использовал типы товаров. Эта особенность VirtueMart позволяет присваивать товарам дополнительные свойства при этом создаются поля в базе данных и связываются с конкретным товаром. В админ. панели у товара появляются дополнительные вкладки. Однако информация выводится только при просмотре подробностей. Для вывода данных при просмотре категории необходимо кое-что изменить.
Меняем:
1. administrator/conponents/html/shop.browse.php
находим строку в начале файла
require_once(CLASSPATH.'ps_product_attribute.php');
$ps_product_attribute = new ps_product_attribute;
после этих строк вставляем свою инициализацию нового класса
require_once(CLASSPATH.'ps_product_type.php');
$ps_product_type=new ps_product_type;
Затем находим строки 
$product_s_desc=$db_brows->f('product_s_desc');
if(empty($product_s_desc) && $product_parent_id!=0)
{
$product_s_desc = $dbp->f('product_s_desc');
}
Добавляем инициализацию переменной для вывода полей типов продукта
$fl_product_id=$db_browse->f('product_id');
$product_type = $ps_product_type($fl_product_id);
Затем добавляем в заполнение массива продуктов поле типа товара. Это почти в конце файла.

unset($full_image_width);
unset($full_image_height);
$products[$i]['product_name'] = shopMakeHtmlSafe( $product_name );
$products[$i]['product_s_desc'] = $product_s_desc;
$products[$i]['product_details'] = $product_details;
$products[$i]['product_rating'] = $product_rating;
$products[$i]['product_price'] = $product_price;
Добавляем
$products[$i]['product_type'] = $product_type;
Остается в шаблоне вывода записей категории добавить вывод переменной $product_type
У меня это файл \components\com_virtuemart\themes\default\templates\browse\browse_1.php
Для оформления вывода этих дополнительных полей используется шаблон
components\com_virtuemart\themes\default\templates\common\product_type.tpl.php


Комментариев нет:

Отправить комментарий