开发者

Way to define others layout() parts such layout()->content?

Ive done some search but no success.. i am trying to figure out how to define others layout() parts su开发者_开发技巧ch layout()->content variable.. i would love to get int layout()->navigation (a custom one) which display the navigation..

Any ideas ?

Thanks.


Not sure if this is what you want, but you can create additional 'parts' of layout simply by assigning a value to your new part. ZF will take care of the rest. For example, in a bootstrap.php you could do:

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

Then in your layout.phtml you could just echo the new part:

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


It is possible by just creating a new variable in layout, you can define it in your controller (preferably in init or postDispatch). Just like this:

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

Then in your actual view where you want to see the message, all you have to do is:

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

If you want something fancier, such as rendering a whole page or sidebar, try the following:

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

With render being the action (including render.phtml) and sidebar being the controller.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜