magento中getProductAdditionalInformationBlock的用例

magento中getProductAdditionalInformationBlock的用例,magento,Magento,我想在购物车的每个项目下添加一些附加信息。我已将此信息保存在“附加信息”字段中的“sales\u flat\u quote\u item”表中。因此,问题只是如何在显示项目的所有位置全局显示它 我在项目名称下的几个地方看到了如下结构: <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()):?> <?php echo $addtInfoBlock->setItem($_it

我想在购物车的每个项目下添加一些附加信息。我已将此信息保存在“附加信息”字段中的“sales\u flat\u quote\u item”表中。因此,问题只是如何在显示项目的所有位置全局显示它

我在项目名称下的几个地方看到了如下结构:

<?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()):?>
 <?php echo $addtInfoBlock->setItem($_item)->toHtml() ?>
<?php endif;?>
模板checkout/cart/glass_additional.phtml被调用

但是在模板中,我不知道如何获得关于我应该处理哪些$item的信息。我试过:

$_item = $this->getItem();
print_r($_item);
$_item = $this->getData();
print_r($_item);
但它什么也不返回

所以我的问题是:如何在模板中获取$item数据。 我可以访问中的数据集吗

...
$addtInfoBlock->setItem($_item)->toHtml();
...
这位OP已经自我回答了他的问题

引述:

我刚刚通过将我的区块设置为“additional.product.info”解决了这个问题



注意:这完全是你自己的问题。请将其作为真实答案发布,但不要在问题或评论中发布。发布为真实答案有助于保持“未答复”列表更加清晰(避免让其他人浪费时间)。

我认为要获得项目实例,您必须尝试以下方法:

class Site1_Various_Block_Itemrendererdefault extends Mage_Core_Block_Template {

public function setItem(Varien_Object $item) {
    $this->setData('item', $item);
    return $this;
}

public function getItem() {
    $parent = $this->getParentBlock();
    if ($parent) {
        $item = $parent->getItem();
    }       
}
}


谢谢

在使用块类型core/template和调用自定义模板文件中的
getParentBlock()
之前,我对此也有问题。这可能适用于任何自定义块类型,但我没有进行测试

在layout/local.xml文件中:

...
$addtInfoBlock->setItem($_item)->toHtml();
...
<checkout_cart_index>
    <block type="various/itemrendererdefault" name="additional.product.info" translate="label" template="checkout/cart/glass_additional.phtml"></block>
</checkout_cart_index>
class Site1_Various_Block_Itemrendererdefault extends Mage_Core_Block_Template {

public function setItem(Varien_Object $item) {
    $this->setData('item', $item);
    return $this;
}

public function getItem() {
    $parent = $this->getParentBlock();
    if ($parent) {
        $item = $parent->getItem();
    }       
}
<checkout_cart_index>
    <reference name="additional.product.info">
        <block type="core/template" name="additional.product.info.your_template" as="your_template" template="checkout/cart/item/your-template.phtml"/>
    </reference>
</checkout_cart_index>
$_item = $this->getParentBlock()->getItem();
/* get access to all product attributes, with a performance hit. */
$_product = $_item->getProduct()->load();

/* Some product attributes */
echo $_product->getName();
echo $_product->getSku();