是否可以Custom Variables
在布局文件中使用?我可以在这样的模板文件中使用它们:
Mage::getModel('core/variable')->loadByCode('variableCode')->getData('store_plain_value')
但不确定xml文件。
我知道我可以改用上面的方法,但这对于将来的使用也很有用。
更新:恐怕最不清楚。我特别希望访问管理面板的“自定义变量”部分,而不仅仅是将我自己的变量传递给一个块。我为缺乏明确性表示歉意。
是否可以Custom Variables
在布局文件中使用?我可以在这样的模板文件中使用它们:
Mage::getModel('core/variable')->loadByCode('variableCode')->getData('store_plain_value')
但不确定xml文件。
我知道我可以改用上面的方法,但这对于将来的使用也很有用。
更新:恐怕最不清楚。我特别希望访问管理面板的“自定义变量”部分,而不仅仅是将我自己的变量传递给一个块。我为缺乏明确性表示歉意。
Mage_Core_Block_Abstract
扩展Varien_Object
并继承其__call()
重载。尽管布局 XML 中的块操作调用块方法,但以下是可能的:
传递一个字符串(它可以被翻译!):
<action method="setSomeVal" translate="arg" module="some/helper">
<arg>Some String</arg>
</action>
传递一个数组:
<action method="setSomeVal">
<arg>
<key1>Some String</key1>
<key2>Some String</key2>
<key3>
<multikey1>Some String</multikey1>
</key3>
</arg>
</action>
传递你想要的任何东西:
<action method="setSomeVal">
<arg helper="some/helper/method">
<param_for_the_helper_method>
<getting_crazy>Oh Boy.</getting_crazy>
</param_for_the_helper_method>
</action>
使用 检索块/模板中的值$this->getSomeVal();
。
好玩吧?
您是否尝试过以下操作:
<!-- in layout xml file -->
<action method="setData"><name>color_id</name><value>5</value></action>
然后,您可以在块文件中使用,如下所示:
$colors = $this->getColorId();
# or
$colors = $this->getData('color_id');
基于更新的问题:
创建一个包装功能的辅助类core/variable
,例如:
class Some_Module_Helper_Variable
{
public function getVariableData($code,$param)
{
return Mage::getModel('core/variable')->loadByCode($code)->getData($param);
}
}
然后,在您的块的布局 XML 中,您可以这样做(我相信):
<action method="setSomeVal">
<arg helper="class_group/variable/getVariableData">
<arg1>variableCode</arg1>
<arg2>store_plain_value</arg2>
</arg>
</action>