Php 访问小部件';_prepareLayout中的s参数
我正在为Magento编写一个自定义小部件。我已经成功地配置了它-加载并执行了文件Php 访问小部件';_prepareLayout中的s参数,php,magento,Php,Magento,我正在为Magento编写一个自定义小部件。我已经成功地配置了它-加载并执行了文件ABC/DEF/Resources.php class ABC_DEF_Block_Resources extends Mage_Core_Block_Abstract implements Mage_Widget_Block_Interface{ protected function _prepareLayout(){ var_dump($this->getData());
ABC/DEF/Resources.php
class ABC_DEF_Block_Resources extends Mage_Core_Block_Abstract implements Mage_Widget_Block_Interface{
protected function _prepareLayout(){
var_dump($this->getData());
}
}
当包含在静态CMS块中时,通过
{{widget type="def/resources" res="css:test.css"}}
一切正常
array(2) { ["type"]=> string(15) "def/resources" ["res"]=> string(11) "css:test.css" }
但是,当通过CMS->Widgets
(块引用:Page Top
)包含时,结果是
array(1) { ["type"]=> string(15) "def/resources" }
任何方法?当通过
CMS
Widgets
使用时,Widgets是使用布局指令创建的,所有特定数据都是使用操作
节点设置的(请参见Mage\u Widget\u Model\u Widget\u Instance::generateLayoutUpdateXml()
),这些节点在创建块后执行(因此在调用\u prepareLayout()
之后)
在您的情况下,您可能更希望使用\u beforeToHtml()
(一些基本Magento小部件也是如此)