在yii中分离页眉、内容和页脚

在yii中分离页眉、内容和页脚,yii,Yii,我在网站的标题部分有一个登录表单。如果用户登录,则会显示登录表单中的用户配置文件详细信息。问题是如何将页眉页脚和内容分离到不同的视图中,并从一个控制器调用它们?或者可能还有另一种解决方案……谢谢您的帮助。最简单的方法可能是使用不同的布局,您只需打开登录即可。如果没有,则基于Yii::app()->user->isGuest显示部分/组件也很有效。最简单的方法可能是使用不同的布局,您只需打开登录即可。如果没有,则基于Yii::app()->user->isGuest显示部分/组件也很有效。默认生成

我在网站的标题部分有一个登录表单。如果用户登录,则会显示登录表单中的用户配置文件详细信息。问题是如何将页眉页脚和内容分离到不同的视图中,并从一个控制器调用它们?或者可能还有另一种解决方案……谢谢您的帮助。

最简单的方法可能是使用不同的布局,您只需打开登录即可。如果没有,则基于Yii::app()->user->isGuest显示部分/组件也很有效。

最简单的方法可能是使用不同的布局,您只需打开登录即可。如果没有,则基于Yii::app()->user->isGuest显示部分/组件也很有效。

默认生成的Yii应用程序在protected/components/Controller.php中有一个父控制器。
如果需要访问布局中的其他参数,请将公共属性添加到控制器,在子控制器中设置它们,并在视图/布局文件中使用它们。

默认生成的Yii应用程序在protected/components/Controller.php中有一个父控制器。
如果您需要访问布局中的其他参数,请将公共属性添加到控制器,在子控制器中设置它们,并在视图/布局文件中使用它们。

在标题视图中,您可以编写类似的内容

<?php if(Yii::app()->user->getId()): ?>
    <?php $this->renderPartial('//world/_header_user')); ?> 
 <?php else: ?>
    <?php $this->renderPartial('//world/_header_guest')); ?> 
 <?php endif; ?>


在标题视图中,您可以这样写

<?php if(Yii::app()->user->getId()): ?>
    <?php $this->renderPartial('//world/_header_user')); ?> 
 <?php else: ?>
    <?php $this->renderPartial('//world/_header_guest')); ?> 
 <?php endif; ?>


使用模型-视图-控制器(MVC)设计模式,基于Yii的站点的外观自然由视图文件控制。这些文件是HTML和PHP的组合,有助于创建所需的输出。站点中的特定页面将使用特定的视图文件。事实上,视图文件被设计成以原子方式分解,例如,用于创建和编辑员工记录的表单是它自己的文件,并且该文件可以包含在create.php和update.php中。与OOP中的大多数内容一样,实现原子的、解耦的功能对于提高可重用性有很大的帮助。但是单个视图文件只是呈现网页的等式的一部分。在布局文件中渲染各个视图文件。虽然我在关于Yii的文章中提到过一两次布局,但这是一个值得发表自己文章的主题

需要明确的是,布局是视图文件的一种类型。具体来说,其他视图文件放在相应控制器的目录中(即SiteController从视图/站点中提取),而布局文件放在视图/布局中。但是,尽管其他视图文件与各个控制器(因此也与各个页面)关联,但布局是公共的,由所有页面共享。简单地说,布局文件是整个站点模板系统的父包装器。我会解释的

ypu可以看到更多细节


使用模型-视图-控制器(MVC)设计模式,基于Yii的站点的外观自然由视图文件控制。这些文件是HTML和PHP的组合,有助于创建所需的输出。站点中的特定页面将使用特定的视图文件。事实上,视图文件被设计成以原子方式分解,例如,用于创建和编辑员工记录的表单是它自己的文件,并且该文件可以包含在create.php和update.php中。与OOP中的大多数内容一样,实现原子的、解耦的功能对于提高可重用性有很大的帮助。但是单个视图文件只是呈现网页的等式的一部分。在布局文件中渲染各个视图文件。虽然我在关于Yii的文章中提到过一两次布局,但这是一个值得发表自己文章的主题

需要明确的是,布局是视图文件的一种类型。具体来说,其他视图文件放在相应控制器的目录中(即SiteController从视图/站点中提取),而布局文件放在视图/布局中。但是,尽管其他视图文件与各个控制器(因此也与各个页面)关联,但布局是公共的,由所有页面共享。简单地说,布局文件是整个站点模板系统的父包装器。我会解释的

ypu可以看到更多细节