Yii中的样式管理页面

瑞芬

我在这里再次提出有关yii框架的问题。

我下有一个页面views/myviewname/admin.php.有一个页面views/myotherviewname/admin.php.现在我想给这些页面提供另一种样式。但是我该怎么做呢?

themes/classis/views/myviewname/admin.php在该文件下创建了一个页面,并在其中得到了以下信息:

<?php /* @var $this Controller */ ?>
<?php echo $content; ?>

但是我得到一个错误。因为$content没有定义。

如何为这些页面设置样式?如果我可以一次设置所有管理页面的样式,那就太好了。

Ali MasudianPour

首先,不可否认的是,$content变量将被称为undefined,因为它只能在中使用Layouts,而不能在中使用Views

如您所知,如果您已经为应用程序设置了主题(在主配置文件中,通过'theme'=>'myTheme'),Yii会在其中查找主题themes/myTheme,所有视图都将显示为,themes/myTheme/views/x/y.php而不是views/x/y.php此外,您的布局将被位于中的布局覆盖themes/myTheme/layouts

现在,假设我们要创建2个主题:

  1. 黑暗主题
  2. 灯光主题

我们应该创建如下结构:

+themes
    +darkTheme
        +views    
             +layouts
                 +main.php
                 +myLayout1.php
                 +myLayout2.php
             +myController
                 +myView1.php
    +lightTheme
        +views    
             +layouts
                 +main.php
                 +myLayout1.php
                 +myLayout2.php
             +myController
                 +myView1.php

我们有一个main.php包含基本主题结构(骨架)的2个布局myLayout1.phpmyLayout2.php分别命名为同样,我们已经在我们的基本控制器中定义了默认布局(通常是Controller.php),如下所示:

public $layout='//layouts/myLayout1';

现在,我们有了一个主布局,myLayout1默认情况下显示所有内容我们可以按如下所示更改布局的输出动作:

$this->layout="myLayout2";

我们还可以更改应用程序主题,如下所示:

Yii::app()->theme="lightTheme";

注意:主题名称区分大小写。如果您尝试激活一个不存在的主题,Yii :: app()-> theme将返回null。

上面的代码可以写入beforeAction()方法或每个动作中。请注意,如果渲染myView1$this->render('myView1'))且主题设置为darkTheme,则Yii将themes/darkTheme/views/myController/myView1.php代替渲染views/myConteoller/myView1.php


更清楚地说,$content将在布局中使用。同样,这很了不起,$content它将被视图中的所有内容替换。因此,如果要修改整个页面的架构,则必须修改main.php布局。在前面,如果要修改视图内容的样式,则需要修改布局。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Yii中的CMenu样式

来自分类Dev

yii中的下拉样式

来自分类Dev

Wordpress管理页面的FullCalendar样式问题

来自分类Dev

ASPX页面中的样式问题

来自分类Dev

样式在辅助页面中消失

来自分类Dev

在jsp页面中管理<iframe>

来自分类Dev

在jsp页面中管理<iframe>

来自分类Dev

如何覆盖AMP页面中的内联样式?

来自分类Dev

Yii中的网址管理器问题

来自分类Dev

如何在UWP的主从页面中更改页面按钮的样式

来自分类Dev

Yii在分页中显示所有页面

来自分类Dev

在yii2中打印页面内容

来自分类Dev

登录后重定向yii中的页面

来自分类Dev

Yii在分页中显示所有页面

来自分类Dev

在yii2中打印页面内容

来自分类Dev

基于yii中的数据的CGridView中的样式列

来自分类Dev

SubCatalog未显示在Django管理页面中

来自分类Dev

在管理页面中删除选项树菜单

来自分类Dev

在管理页面中添加新的字段年龄

来自分类Dev

在管理页面中验证用户模型

来自分类Dev

在管理页面中不显示某些字段

来自分类Dev

管理添加页面中的递归模型

来自分类Dev

Kentico 管理页面中没有图标

来自分类Dev

图片未显示在 django 管理页面中

来自分类Dev

在同一页面中组合特定页面样式和全局样式时的性能

来自分类Dev

Yii2:contentOptions(GridView)中的动态样式

来自分类Dev

Yii2:contentOptions(GridView)中的动态样式

来自分类Dev

在Yii的下拉菜单中设置每个选项的样式

来自分类Dev

无法访问Sylius管理员或查看样式的登录,注册或帐户页面