Как дополнить таблицу связанных товаров дополнительными столбцами?
атрибутами
23.11.2011 10:47
С помощью атрибутов я могу добавить в табличку еще две колонки (см. рисунок). Или как это еще можно сделать?
23.11.2011 11:37
Указанная вами таблица расположена в шаблоне catalog/product/view/type/grouped.phtml вашей темы
23.11.2011 12:20
Спасибо.
Здесь еще одно но, в примере, как выводить атрибуты - выводится атрибут для основного товара, на чьей карточке мы есть.
А как мне изменить вывод, вывести атрибут для связанного товара с таблички?
Здесь еще одно но, в примере, как выводить атрибуты - выводится атрибут для основного товара, на чьей карточке мы есть.
А как мне изменить вывод, вывести атрибут для связанного товара с таблички?
echo $_product->getColor();
23.11.2011 12:27
Рядовые товары «группы однотипных товаров» являются экземплярами класса Mage_Catalog_Model_Product, как и любые другие товары, поэтому их свойства выводятся точно также как и свойства других видов товаров.
В указанном мной шаблоне есть пример вывода названия и цены товаров «группы однотипных товаров».
В указанном мной шаблоне есть пример вывода названия и цены товаров «группы однотипных товаров».
23.11.2011 12:41
То есть разницы нет ...
Но почему-то ничего не выводится.
Тогда же в чем может быть причина? Атрибут существует, настроен на отображение, товар тоже получил значение атрибута (выпадающий список)...
Но почему-то ничего не выводится.
<catalog_category_default translate="label">
...
<reference name="content">
<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
<action method="addAttribute"><name>color</name></action>
...
<td><?php echo $this->htmlEscape($_item->getName()); echo $_product->getColor(); ?></td>
Тогда же в чем может быть причина? Атрибут существует, настроен на отображение, товар тоже получил значение атрибута (выпадающий список)...
23.11.2011 13:07
Значения свойств типа выпадающий список (dropdown) выводятся иначе, нежели значения свойств текстового типа.
Для вывода значения свойства типа выпадающий список (dropdown) надо вызвать метод товара getAttributeText, например:
Для вывода значения свойства типа выпадающий список (dropdown) надо вызвать метод товара getAttributeText, например:
$product->getAttributeText('test')
23.11.2011 13:16
Но тогда выдает ошибку "Fatal error: Call to a member function getAttributeText() on a non-object in"
$product->getAttributeText('color');
23.11.2011 14:03
...Не знаю. А как ее инициализировать? В catalog/product/view/type/grouped.phtml переменной $product не встречается.
Код:
Код:
<?php $this->setPreconfiguredValue(); ?>
<?php $_product = $this->getProduct(); ?>
<?php $_associatedProducts = $this->getAssociatedProducts(); ?>
<?php $_hasAssociatedProducts = count($_associatedProducts) > 0; ?>
<?php if ($_product->isAvailable() && $_hasAssociatedProducts): ?>
<p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
<?php else: ?>
<p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
<?php endif; ?>
<?php echo $this->getChildHtml('product_type_data_extra') ?>
<table class="data-table grouped-items-table" id="super-product-table">
<col />
<col />
<col width="1" />
<thead>
<tr>
<th><?php echo $this->__('Farbe') ?></th>
<?php if ($this->getCanShowProductPrice($_product)): ?>
<th class="a-right"><?php echo $this->__('Price') ?></th>
<?php endif; ?>
<?php if ($_product->isSaleable()): ?>
<th class="a-center"><?php echo $this->__('Qty') ?></th>
<?php endif; ?>
</tr>
</thead>
<tbody>
<?php if ($_hasAssociatedProducts): ?>
<?php foreach ($_associatedProducts as $_item): ?>
<?php $_finalPriceInclTax = $this->helper('tax')->getPrice($_item, $_item->getFinalPrice(), true) ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getName()); echo $product->getAttributeText('color'); ?>
</td>
<?php if ($this->getCanShowProductPrice($_product)): ?>
<td class="a-right">
<?php if ($this->getCanShowProductPrice($_item)): ?>
<?php echo $this->getPriceHtml($_item, true) ?>
<?php echo $this->getTierPriceHtml($_item) ?>
<?php endif; ?>
</td>
<?php endif; ?>
<?php if ($_product->isSaleable()): ?>
<td class="a-center">
<?php if ($_item->isSaleable()) : ?>
<input type="text" name="super_group[<?php echo $_item->getId() ?>]" maxlength="12" value="<?php echo $_item->getQty()*1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
<?php else: ?>
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
<?php endif; ?>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td colspan="<?php if ($_product->isSaleable()): ?>4<?php else : ?>3<?php endif; ?>"><?php echo $this->__('No options of this product are available.') ?></td>
</tr>
<?php endif; ?>
</tbody>
</table>

Вход
Регистрация
Помощь

