0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 5676 Просмотров

Задача такая:

На странице просмотра товаров категории в таблице выводится список товаров такого вида:
Шапка таблицы: Артикул |Наименование|Производитель|Цена
Картинка в прицепе.
и соответственно по столбцам должны выводится данные для каждого товара.
Проблема возникла со столбцом "Производитель"

Что я делаю:

Лезу в файл browse_listtable.tpl.php

1. Делаю заголовок столбца, добавляю строчку в нужном месте
Код
$tableheader[] = $VM_LANG->_('PHPSHOP_MANUF');
и прописываю его в языковом фале - заголовок столбца готов.

2. Обращаюсь к таблице SQL чтобы вывести производителя для каждого товара.
Данные о производителе хранятся в таблице manufacturer в поле mf_name.
В код добавляю такую строку:
Код
$data[$row][] = $manufacturer['mf_name'];
Поле появилось, но производитель не отображается.

Поправьте меня, что сделал не так?

Связка J 1.5.9 + VM 1.1.2

Вот весь файл 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[] = $VM_LANG->_('PHPSHOP_CART_SKU');
$tableheader[] = $VM_LANG->_('PHPSHOP_CART_NAME');
$tableheader[] = $VM_LANG->_('PHPSHOP_MANUF');


if( _SHOW_PRICES && $auth['show_prices'] ) {
$tableheader[] = $VM_LANG->_('PHPSHOP_CART_PRICE');
}

if( _SHOW_PRICES && $auth['show_prices'] && USE_AS_CATALOGUE != '1' ) {
$tableheader[] = $VM_LANG->_('PHPSHOP_CART_ACTION');
}

// 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 );
}

$data[$row][] = $product['product_sku'];
        $data[$row][] = $product['product_name'];
$data[$row][] = $manufacturer['mf_name'];

if( _SHOW_PRICES && $auth['show_prices'] ) {
$data[$row][] = $product['product_price'];
}

else {
$data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'
. $product['product_details']
. '</a>';
}

$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 ?>
<?php
// Show Featured Products
if( $this->get_cfg( 'showFeatured', 1 )) {
    /* featuredproducts(random, no_of_products,category_based) no_of_products 0 = all else numeric amount
    edit featuredproduct.tpl.php to edit layout */
    echo $ps_product->featuredProducts(true,10,true);
} ?>
<?php echo $recent_products ?>


[вложение удалено Администратором]
« Последнее редактирование: 14.07.2009, 17:41:23 от yuryts »
*

beagler

  • Moderator
  • 3276
  • 391 / 4
  • https://alorisman.ru/
Это не из базы, а из массива, подготовленного в \administrator\components\com_VirtueMart\html\shop.browse.php
в этом файле нужно перед
Код
// Price: xx.xx EUR
добавить
Код
// Add Manufacturer name
$product_mf_name = $ps_product->get_mf_name( $db_browse->f("product_id") );
и после
Код
$products[$i]['product_url'] = $db_browse->f("product_url");
добавить
Код
$products[$i]['mf_name'] = $product_mf_name;
и тогда в browse_listtable.tpl.php можно будет добавить 
Код
$data[$row][] = $product['mf_name'];
а не
Код
$data[$row][] = $manufacturer['mf_name'];

Спасибище огромнейшее beagler - всё заработало!
*

SCSI

  • Новичок
  • 3
  • 0 / 0
Cпасибо, столкнулся с аналогичной проблемой, Вы мне тоже очень помогли.
*

kpk17

  • Захожу иногда
  • 257
  • 2 / 0
а подскажите как сделать, чтобы производитель отображался сверху,

----------------------------название производителя-------------------------------------
картинка------название-------описание--------цена-------купить-----------------------

т.е. нажимаешь на категорию, а получаешь таблицу с заголовком по производителю и сортировка естественно по производителю..
подскажите как?

*

tkheun

  • Захожу иногда
  • 145
  • 1 / 0
А подскажите, как добавить производителя в шаблон отображения категории?
*

speakme

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Вот все делаю так ка Вы говорите, Но производитель не отображается, как будто его не откуда взять.. Где собака зарыта?
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Также долго искал, как вставить...
Для нетабличного вида тут _http://joomlaforum.ru/index.php?topic=79209.0
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сравнения товара в VM 1.1.X

Автор Bear

Ответов: 464
Просмотров: 67782
Последний ответ 17.06.2016, 10:44:50
от uralmas
[Решено] Невидимая регистрация ( Покупка без регистрации ) V1.1.3

Автор urodoff

Ответов: 319
Просмотров: 98985
Последний ответ 27.10.2014, 15:27:02
от gaalferov
[Решено] Отобразить кол-во товаров из всех подкатегорий V1.1.3

Автор bazic

Ответов: 19
Просмотров: 11038
Последний ответ 18.09.2014, 06:39:33
от fila61
[Решено] Добавление Watermark к фото товара V1.0.15 V1.1.3

Автор mickymouse

Ответов: 52
Просмотров: 19069
Последний ответ 13.06.2013, 01:04:46
от richman
[Решено] Как изменить ,товаров в наличии 1 на "есть в наличии" V1.0.15 V1.1.3

Автор ButuzOFF

Ответов: 93
Просмотров: 34485
Последний ответ 17.05.2013, 21:10:44
от sa1981