使用Magento中的控制器添加/生成布局xml

时间:2013-06-09 10:13:49

标签: xml magento layout magento-1.7

我正在为Magento 1.7.0.2平台创建扩展。我已经成功,因为扩展用于基本上加载jquery&在管理面板中管理的js。

问题是有多个是/否配置(在使用storeConfig的管理设置中)并且我希望不使用echo if,else等来加载.phtml,因为如果请求这些将不可用于合并/压缩通过另一个压缩扩展(也就是默认magento的fooman),因为它们是静态的.phtml文件。 (PS也会有一个相当大的多重回声,如果,echo else文件比xml慢?)

所以我想通过布局加载这些文件...但是没有使用design / default / default / layout下的.xml布局过程,因为有太多的配置是/否值以及我不能的模型/选择选项在.xml结构中使用(例如:ifconfig =“value”)。

所以我希望使用控制器将这些文件加载​​到head块中,并在这里执行echo if / else,以便加载适当的配置。

到目前为止我已经

public function indexAction(){

$this->loadLayout();
$this->renderLayout();


}

我一直在努力(只是为了开始工作)

$this->getLayout()->getBlock('head')->append(
$this->getLayout()
->createBlock('core/text', 'some-unique-name')
->setText('<script type="text/javascript" src="/foo/baz/bar.js"></script>')
);

我已经阅读了Alan Snow的一些片段和建议,但由于我希望在每个页面上都生成xml,但是也没有成功,但是使用控制器可能无法实现

任何评论,帮助&amp;意见非常受欢迎。

1 个答案:

答案 0 :(得分:1)

由于应该使用现有方法,您应该执行以下操作:

$this->getLayout()->getBlock('head')->addJs('javascriptfile.js');