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