我是Yii Framework的新手,并且创建了一个基于模块的CRM。 使用不同的教程,我能够创建自己的主题,但现在我陷入了一个困境。yii框架中的主题和布局
在我的主题,上<nav>
离开<nav>
保持整个应用程序的相同,直到用户登录。这就是为什么我做了我的main.php的一部分,但在那里的登录页面没有按钮显示,只是简单登录表格与2 textfields。
如何在使用自定义主题的应用程序中实现此表单?
我试图在该特定操作中定义布局但未成功。任何帮助,将不胜感激。
我是Yii Framework的新手,并且创建了一个基于模块的CRM。 使用不同的教程,我能够创建自己的主题,但现在我陷入了一个困境。yii框架中的主题和布局
在我的主题,上<nav>
离开<nav>
保持整个应用程序的相同,直到用户登录。这就是为什么我做了我的main.php的一部分,但在那里的登录页面没有按钮显示,只是简单登录表格与2 textfields。
如何在使用自定义主题的应用程序中实现此表单?
我试图在该特定操作中定义布局但未成功。任何帮助,将不胜感激。
为您的视图使用自定义布局是正确的选择。 您可以在控制器操作中或在视图中设置布局。
$this->layout = "//layouts/mylayout";
注意,默认布局column1.php和column2.php也使用main.php布局文件。
我已经试过这个,但没有运气.... – 2012-04-25 11:35:08
你的输出是什么? a)只是“原始”的内容? - >找不到布局文件。 b)没有明显的变化? - >布局没有得到应用。 Yii使用哪个版本? – schmunk 2012-04-25 12:42:18
是的内容是以原始格式显示,你是正确的错误是在路径我已经使用布局,而不是布局。谢谢你的帮助。 – 2012-04-25 12:51:26
试着一步一步来:
创建新主题
您可以创建一个新的主题,将其添加到目录 Application_Root /主题。
查看主题/经典目录以获得目录结构的概念。 重要文件(在此阶段)是: - Application_Root /主题/视图/布局/ main.php
自定义您的主题内容
复制的CSS,图像,js文件等的正确的目录并根据你的喜好更改main.php文件。例如,如果你的main.php说
<链接HREF = “CSS/mystyle.css” 相对= “样式” >
然后,你将有一个文件 Application_Root/CSS/mystyle.css
创建内容占位符。
在你的main.php中的某个地方,会有一个动态文本的占位符,由它指定。
<?php echo $ content; ? >
告诉yii使用主题。 通过在最后一行(包含右括号)之前添加以下行来更改文件Application_Root/protected/config/main.php。
'主题'=> 'surveyhub'
创建布局占位符。
创建一个HTML段,将写入main.php的$ contents部分。将其称为例如one_column.php。因此文件路径将为Application_Root/themes/views/layouts/one_column.php在该文件中,您希望放置动态文本的位置创建一个占位符。
<?php echo $ content; ? >
告诉Yii中使用的布局。
在文件Application_Root /保护/组件/ Controller.php这样,添加或修改布局变量如下:
公共$布局= '//布局/ one_column.php';
刷新页面
请详细说明,并展示一些代码,我也许能够给你的想法,但我并不清楚地了解这个问题。 – ddinchev 2012-04-25 10:50:35
这个问题与代码无关,因为yii框架中的布局是由main.php文件中的文件夹结构和单个数组索引创建的。我只是想知道,有什么方法可以为一个页面使用不同的主题? – 2012-04-25 10:55:36