2011-04-14 15 views

回答

1

有可能通過剛剛創建的新變量佈局,你可以在你的控制器中定義它(最好在init或postDispatch中)。就像這樣:

public function init() 
{ 
    $this->view->layout()->motd = '<b>Message of the day.</b>'; 
} 

然後在你想看到的消息,你的實際看,所有你需要做的是:

<?php echo $this->layout()->motd; ?> 

如果你想要的東西票友,如渲染整個頁面或側邊欄,請嘗試以下操作:

public function init() 
{ 
    $this->view->layout()->sidebar = $this->view->action('render', 'sidebar'); 
} 

使用渲染作爲操作(包括render.phtml)和邊欄作爲控制器。

2

不確定這是否是您想要的,但您可以通過爲您的新零件分配值來創建佈局的其他「零件」。採埃孚會照顧其餘的。例如,在bootstrap.php中,你可以這樣做:

public function _initNewLayoutPart() { 
    $view = $this->bootstrap('view')->getResource('view'); 
    $view->layout()->newpart = 'some new part';     
} 

然後在你的layout.phtml你可以只呼應新零件:

<?php echo $this->layout()->newpart; ?>