RedRabbit
Мой дом здесь!
- Регистрация
- 11 Июл 2008
- Сообщения
- 607
- Реакции
- 256
- Автор темы
- #1
Хочу вывести в категории товаров
manufacturer_name
product_packaging
product_unit
Не выводится
В настрйках вирта:
Product List Style - Flat Product List (fixed to 1 product per row, using a table)
brows_x игонорируется и выводится
Правлю browse_listtable.tpl.php
И так и сяк пробывал, в чем проблема??? Помогите пожалуйста!!!
Так ... с производителем разобрался
А как пилить product_packaging product_unit???????????
Пробую править shop.browse.php
Ставлю, опять не работает
Все разобрался!!!
1) В файле \com_VirtueMart\html\shop_browse_queries.php
Ищем строку (у меня 37) с описание всех доступных полей для запроса.
$fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`,...
Добавляем туда `product_packaging` и product_unit
2)в файл \components\com_VirtueMart\html\shop.browse.php в нужном месте добавляем строки:
manufacturer_name
product_packaging
product_unit
Не выводится
В настрйках вирта:
Product List Style - Flat Product List (fixed to 1 product per row, using a table)
brows_x игонорируется и выводится
Код:
omponents\com_virtuemart\themes\default\templates\browse\includes\browse_layouttable.tpl.php
components\com_virtuemart\themes\default\templates\browse\includes\browse_listtable.tpl.php
Код:
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__); ?>
<?php echo $buttons_header // The PDF, Email and Print buttons ?>
<?php echo $browsepage_header // The heading, the category description ?>
<?php echo $parameter_form // The Parameter search form ?>
<?php echo $orderby_form // The sort-by, order-by form PLUS top page navigation ?>
<?php
$data =array(); // Holds the rows of products
$i = 1; $row = 0; // Counters
// Table header
$tableheader[] = 'Код';
$tableheader[] = 'Номенклатура';
$tableheader[] = 'Артикул';
$tableheader[] = 'Изготовитель';
$tableheader[] = 'Тарное место';
$tableheader[] = 'Ед.';
$tableheader[] = 'Цена';
// Creates a new HTML_Table object that will help us
// to build a table holding all the products
$table = new HTML_Table('width="100%"');
$table->addRow( $tableheader, 'class="sectiontableheader"', 'th', true );
foreach( $products as $product ) {
foreach( $product as $attr => $val ) {
// Using this we make all the variables available in the template
// translated example: $this->set( 'product_name', $product_name );
$this->set( $attr, $val );
$this->set( 'manufacturer_name', $manufacturer_name );
}
$data[$row][] = $product['product_sku'];
$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'.$product['product_name'].'</a>';
$data[$row][] = $product['product_s_desc'];
//$data[$row][] = $product['manufacturer_name'];
[B]if( $this->get_cfg('manufacturer_name', 1)) {
$data[$row][] = $product['manufacturer_name'];
}[/B]
//$data[$row][] = $product['manufacturer_name'];
$data[$row][] = $product['product_packaging'];
$data[$row][] = $product['product_unit'];
$data[$row][] = $product['product_price'];
$data[$row][] = $product['form_addtocart'];
$row++;
}
// Loop through each row and build the table
foreach($data as $key => $value) {
$table->addRow( $data[$key], 'class="sectiontableentry'.$i.'"', 'td', true );
$i = $i == 1 ? 2 : 1;
}
// Display the table
echo $table->toHtml();
?>
<br class="clr" /><br />
<?php echo $browsepage_footer ?>
Так ... с производителем разобрался
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
А как пилить product_packaging product_unit???????????
Пробую править shop.browse.php
Ставлю, опять не работает
Код:
// Add-to-Cart Button
// Вывод производителя в категории
$manufacturer_name = $ps_product->get_mf_name($db_browse->f('product_id'));
$products[$i]['manufacturer_name'] = $manufacturer_name;
//конец вывода производителя
//Поробуем вывести количество товаров в упаковке
//$packaging = $ps_product->get_mf_name($db_browse->f("product_packaging") & 0xFFFF);
//$packaging = $ps_product->get_mf_name($db_browse->f("product_packaging") & 0xFFFF);
//$products[$i]['product_packaging'] = $packaging;
//$product_packaging = $db_browse->f("product_packaging") & 0xFFFF;
$product_packaging = $dbp->f("product_packaging") & 0xFFFF;
$products[$i]['product_packaging'] = $product_packaging;
//Поробуем вывести единицу измерения количества товара в упаковке
$product_unit = $db_browse->f("product_unit");
$product_unit = $dbp->f("product_unit");
$products[$i]['product_unit'] = $product_unit;
1) В файле \com_VirtueMart\html\shop_browse_queries.php
Ищем строку (у меня 37) с описание всех доступных полей для запроса.
$fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`,...
Добавляем туда `product_packaging` и product_unit
Код:
$fieldnames = "`#__{vm}_product`.`product_id`, `product_name`, `products_per_row`, `category_browsepage`, `category_flypage`, `#__{vm}_category`.`category_id`, `product_full_image`, `product_thumb_image`, `product_s_desc`, `product_parent_id`, `product_publish`, `product_in_stock`, `product_sku`, `product_url`, `product_weight`, `product_weight_uom`, `product_length`, `product_width`, `product_height`, `product_lwh_uom`, `product_available_date`, `product_availability`, `#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`, `#__{vm}_product`.`product_packaging`, `#__{vm}_product`.`product_unit`";
2)в файл \components\com_VirtueMart\html\shop.browse.php в нужном месте добавляем строки:
Код:
//START HACK
// Вывод производителя в категории
$manufacturer_name = $ps_product->get_mf_name($db_browse->f('product_id'));
$products[$i]['manufacturer_name'] = $manufacturer_name;
//конец вывода производителя
//Поробуем вывести количество товаров в упаковке
$products[$i]['product_packaging'] = $db_browse->f("product_packaging") & 0xFFFF;
$tpl->set( 'product_packaging', $db_browse->f("product_packaging")& 0xFFFF);
//Поробуем вывести единицу измерения количества товара в упаковке
$products[$i]['product_unit'] = $db_browse->f("product_unit");
$tpl->set( 'product_unit', $db_browse->f("product_unit"));
//END HACK