Yii:如何在视图中定义部分布局?
Posted
技术标签:
【中文标题】Yii:如何在视图中定义部分布局?【英文标题】:Yii: how to define partials for layout in a view? 【发布时间】:2011-11-14 00:34:00 【问题描述】:在 Rails 中很简单:
查看有:
<% content_for :sidebar do %>
... sidebar html ...
<% end %>
布局有:
<%= yield :sidebar %>
我可以在 Yii 中做同样的事情吗?
更新:如何在 main.php 布局中同时使用动态页眉、内容和页脚?
【问题讨论】:
【参考方案1】:查看有:
<?php $this->beginClip('sidebar'); ?>
Hi there!
<?php $this->endClip(); ?>
布局有:
<?= $this->clips['sidebar'] ?>
更多信息请查看 CController 文档。
但平心而论,这是做侧边栏的错误方式。
【讨论】:
【参考方案2】:您可以在基本控制器组件中定义public $sidebar
。然后您可以在您的视图或控制器中分配给$this->sidebar
,并在您的布局中检索$this->sidebar
。您还应该查看renderPartial()
,它可用于布局、控制器和视图以呈现部分 HTML 内容(没有布局的内容)。例如$this->renderPartial('/some/view')
【讨论】:
【参考方案3】:是的,在 yii 中你可以使用 renderPartial() 渲染部分内容,
你可以看看renderpartial() here
您可以将其用作$this->renderPartial('/folder/view')
【讨论】:
以上是关于Yii:如何在视图中定义部分布局?的主要内容,如果未能解决你的问题,请参考以下文章