什么是loadlayout和renderlayout的用途以及它们可以做什么?

时间:2014-12-10 06:56:39

标签: php function magento controller magento-1.9

什么是loadlayout()和renderlayout()呢? 在控制器'功能

 public function viewAction()
 {
 $this->loadLayout();
 $this->renderLayout();
 }

2 个答案:

答案 0 :(得分:1)

$this->renderLayout();获取布局输出并将此输出处理到响应正文并附加响应

$this->loadLayout();在后​​端创建XML树。

答案 1 :(得分:0)

当您调用Action Controller的loadLayout方法时,Magento将

(a) Instantiate a Block class for each <block /> tag, looking up the class using the tag's type attribute as a global config path and store it in the internal _blocks array of the layout object, using the tag's name attribute as the array key.

(b) If the <block /> tag contains an output attribute, its value is added to the internal _output array of the layout object.

然后,当您在Action Controller中调用renderLayout方法时, Magento将使用output属性的值作为回调方法迭代_output数组中的所有块。

这总是toHtml,并且意味着输出的起点将是Block的模板。

干杯; - )