С помощью атрибутов я могу добавить в табличку еще две колонки (см. рисунок). Или как это еще можно сделать?
Как дополнить таблицу связанных товаров дополнительными столбцами?
атрибутами
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>