如何在 yii 框架中创建主题?
Posted
技术标签:
【中文标题】如何在 yii 框架中创建主题?【英文标题】:How to create themes in yii framework? 【发布时间】:2013-01-16 07:31:05 【问题描述】:我是 Yii 框架的新手。我之前在研究 drupal,drupal 制作网站的主题并不难管理。但我只想知道如何使用 Yii 框架为网站创建主题。
我浏览了很多网站,但仍然不知道从哪里开始。例如我检查了http://www.yiiframework.com/doc/guide/1.1/en/topics.theming。
现在我的疑问是:
-
从哪里开始创建 Yii 主题?假设我想将 drupal 主题更改为 Yii,我该怎么做?
是否可以为不同的页面设置不同的主题?就像在 drupal 中使用 themekey 模块一样,我们可以为不同的页面设置多个主题。
如果有人能一步一步解释就好了。
【问题讨论】:
【参考方案1】:您可以编辑布局(protected/views/layouts/..)。这些是围绕使用render()
呈现的单个视图呈现的包装视图,例如 site/index 调用索引视图(位于 protected/views/index.php) 使用:$this->render("index");
您可以使用以下方式更改每个操作的布局:$this->layout = "differentlayout";
您可以使用以下方式为 Controller 中的所有操作设置布局:public $layout='//layouts/differentlayout';
显然每个布局都可以有一个自定义结构并加载不同的 CSS 和 JS 文件。我知道这没有使用主题和theming,但它是迄今为止自定义 Yii 项目外观和感觉的最常见方式
这里有一些关于 YII 主题开发的有用链接:
http://www.yiiframework.com/doc/guide/1.1/en/basics.view http://www.yiiframework.com/wiki/249/understanding-the-view-rendering-flow/ http://mushfiq.me/2011/05/30/creating-a-yii-application-theme-from-a-html-template/【讨论】:
爱斯基摩人:谢谢你的回答,但我没听清楚。你的意思是说视图/布局文件夹应该复制到主题文件夹中。 没问题 :) 不,你在目录结构中的位置编辑它。 在那种情况下,在里面创建一个新的主题文件夹有什么用。例如:'themes/mythemeName/....' 它的工作方式基本相同,因此您可以使用'theme' => 'theme_name'
在配置中声明主题,并覆盖主题文件夹中的视图/布局。我认为它背后的概念是提供一种在多个主题之间切换的“简单”方式,但我发现直接编辑受保护文件夹中的视图/布局在很大程度上没有使用并且更容易【参考方案2】:
您可以随时下载一些更简单的Yii Themes,看看它们是如何工作的。
--iM
【讨论】:
以上是关于如何在 yii 框架中创建主题?的主要内容,如果未能解决你的问题,请参考以下文章