【问题标题】:magento product layout update xml setData not workingmagento产品布局更新xml setData不起作用
【发布时间】:2014-03-07 14:28:59
【问题描述】:

在我的更新 XML 中有:

<reference name="content">
 <remove name="product.info" />
 <block type="catalog/product_view" template="catalog/product/imageview.phtml">
<action method="setData"><name>variable</name><value>3</value></action>
</block>
</reference>

我已经创建了 imageview.phtml 并且加载正确。在此模板中,我转储以下内容:

var_dump($this->getVariable());

我的预期结果是:3

但结果是:NULL

我错过了什么?

【问题讨论】:

  • 键名是variable还是别的什么?也许您正在调用的方法存在并返回null

标签: xml magento variables product


【解决方案1】:

我知道的老问题,但今天早上我遇到了同样的问题。希望它可以为其他人节省一些时间。

您的块需要一个名称才能通过 setData 方法接受任何变量。

示例

<block type="catalog/product_view" name="product_image_view" template="catalog/product/imageview.phtml">
   <action method="setData"><name>variable</name><value>3</value></action>
</block>

不知道为什么它需要一个名字,因为它似乎没有在任何地方记录。可能也值得添加alais="product_image_view" 以避免任何进一步的Magentoism

【讨论】:

  • 如果要传递一个乘积方法的结果怎么办?
【解决方案2】:

尝试给密钥起一个不同的名称?

<action method="setData">
   <name>my_variable</name>
   <value>3</value>
</action>

这样称呼它

echo $this->getMyVariable();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    相关资源
    最近更新 更多