我是 Yii 框架的新手,正在创建基于模块的 CRM。使用不同的教程,我可以创建自己的主题,但现在我被困在某一点上。
在我的主题中,整个应用程序的左上角<nav>
和左上角<nav>
保持不变,直到用户登录。这就是为什么我将它作为main.php的一部分,但是在登录页面中没有按钮可以显示,只有简单的登录表单带有 2 个文本字段。
如何使用自定义主题在我的应用程序中实现此表单?
我试图在该特定操作中定义布局但没有成功。任何帮助,将不胜感激。
为您的视图使用自定义布局是正确的方法。您可以在控制器操作或视图中设置布局。
$this->layout = "//layouts/mylayout";
请注意,默认布局column1.php和column2.php也使用main.php布局文件。
一步一步试试这个:
创建新主题
您可以创建一个新主题并将其添加到目录 Application_Root/themes。
查看主题/经典目录以了解该目录的结构。重要的文件(在这个阶段)是:- Application_Root/themes/views/layouts/main.php
自定义您的主题内容
将 css、图像、js 文件等复制到正确的目录,然后根据自己的喜好更改 main.php 文件。例如,如果你的 main.php 说
<link href="css/mystyle.css" rel="stylesheet">
然后你会有一个文件 Application_Root/css/mystyle.css
创建内容占位符。
在您的 main.php 中的某处,将有一个用于动态文本的占位符,由 .php 指定。
<?php 回显 $content; ?>
告诉 yii 使用主题。通过在最后一行(包含右括号)之前添加以下行来更改文件Application_Root/protected/config/main.php 。
'主题'=>'surveyhub'
创建布局占位符。
创建一个将写入 main.php 的 $contents 部分的 HTML 段。将其称为例如 one_column.php。因此,文件路径将是Application_Root/themes/views/layouts/one_column.php在该文件中,您希望放置动态文本,创建一个占位符。
<?php 回显 $content; ?>
告诉 Yii 使用布局。
在文件Application_Root/protected/components/Controller.php中,添加或修改布局变量为:
public $layout='//layouts/one_column.php';
刷新页面