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 %>

布局有:

&lt;%= yield :sidebar %&gt;

我可以在 Yii 中做同样的事情吗?

更新:如何在 main.php 布局中同时使用动态页眉、内容和页脚?

【问题讨论】:

【参考方案1】:

查看有:

<?php $this->beginClip('sidebar'); ?>
Hi there!
<?php $this->endClip(); ?>

布局有:

<?= $this->clips['sidebar'] ?>

更多信息请查看 CController 文档。

但平心而论,这是做侧边栏的错误方式。

【讨论】:

【参考方案2】:

您可以在基本控制器组件中定义public $sidebar。然后您可以在您的视图或控制器中分配给$this-&gt;sidebar,并在您的布局中检索$this-&gt;sidebar。您还应该查看renderPartial(),它可用于布局、控制器和视图以呈现部分 HTML 内容(没有布局的内容)。例如$this-&gt;renderPartial('/some/view')

【讨论】:

【参考方案3】:

是的,在 yii 中你可以使用 renderPartial() 渲染部分内容,

你可以看看renderpartial() here

您可以将其用作$this-&gt;renderPartial('/folder/view')

【讨论】:

以上是关于Yii:如何在视图中定义部分布局?的主要内容,如果未能解决你的问题,请参考以下文章

Yii:如何自定义 CHtml 渲染的视图?

如何在 yii 视图中将内容拆分为列-单独的 div

Yii2:如何在布局中使用模型的数据

如何在 Razor 页面中使用 MVC 部分视图和布局

在片段中,如何查找活动布局中定义的视图?

自定义 UICollectionView 布局中列中的单元格对