8

我是 Yii 框架的新手,正在创建基于模块的 CRM。使用不同的教程,我可以创建自己的主题,但现在我被困在某一点上。

在我的主题中,整个应用程序的左上角<nav>和左上角<nav>保持不变,直到用户登录。这就是为什么我将它作为main.php的一部分,但是在登录页面中没有按钮可以显示,只有简单的登录表单带有 2 个文本字段

如何使用自定义主题在我的应用程序中实现此表单?

我试图在该特定操作中定义布局但没有成功。任何帮助,将不胜感激。

4

2 回答 2

13

为您的视图使用自定义布局是正确的方法。您可以在控制器操作或视图中设置布局。

$this->layout = "//layouts/mylayout";

请注意,默认布局column1.phpcolumn2.php也使用main.php布局文件。

于 2012-04-25T11:17:04.437 回答
7

一步一步试试这个:

  1. 创建新主题

    您可以创建一个新主题并将其添加到目录 Application_Root/themes

    查看主题/经典目录以了解该目录的结构。重要的文件(在这个阶段)是:- Application_Root/themes/views/layouts/main.php

  2. 自定义您的主题内容

    将 css、图像、js 文件等复制到正确的目录,然后根据自己的喜好更改 main.php 文件。例如,如果你的 main.php 说

    <link href="css/mystyle.css" rel="stylesheet">

    然后你会有一个文件 Application_Root/css/mystyle.css

  3. 创建内容占位符。

    在您的 main.php 中的某处,将有一个用于动态文本的占位符,由 .php 指定。

    <?php 回显 $content; ?>

  4. 告诉 yii 使用主题。通过在最后一行(包含右括号)之前添加以下行来更改文件Application_Root/protected/config/main.php 。

    '主题'=>'surveyhub'

  5. 创建布局占位符。

    创建一个将写入 main.php 的 $contents 部分的 HTML 段。将其称为例如 one_column.php。因此,文件路径将是Application_Root/themes/views/layouts/one_column.php在该文件中,您希望放置动态文本,创建一个占位符。

    <?php 回显 $content; ?>

  6. 告诉 Yii 使用布局。

    在文件Application_Root/protected/components/Controller.php中,添加或修改布局变量为:

    public $layout='//layouts/one_column.php';

  7. 刷新页面

于 2012-04-29T09:21:47.780 回答