2012-07-07 29 views
0

我有一个网站,需要有页面的变化。Yii的网页版本的

例如:

website.com/variation1/page1 
website.com/variation2/page1 
website.com/variation3/page1 

所有这些都具有相同的DB,并具有相同的功能。唯一的区别是这些变化在页面模板中有所不同。页眉,页脚,内容等。这是为了分析页面访问的目的。

就这样,什么是做到这一点的最好方法是什么?在Yii中,有一个常用的布局,所以页眉/页脚取决于布局。在这种情况下,页眉/页脚应特定于每个页面,以便用户可以修改特定页面的页眉/页脚/内容而不影响其他页面。

那么,又是什么造成这种情况的最好的方法?

预先感谢您。

编辑:

我想我知道我在这里寻找: 有没有办法覆盖/从布局添加标题视图中的文件?

+0

控制器有一个'layout'属性,它在'/ protected/views/layouts'中寻找一个文件。你可以在一个动作中修改它。 – adamors 2012-07-07 06:52:04

+0

@ ORS向你表示感谢。不过,我已经知道,我所特别寻找的是一种重写布局页眉上的内容的方法。有没有办法做到这一点? – JohnnyQ 2012-07-07 06:59:57

回答

0

我刚刚发现了一个可能的解决方案接近页面的变化。

在我看来,我的目录创建一个目录varation包含即

/view/variation/1/page1.php 
/view/variation/2/page1.php 

所以,当我想渲染我会打电话给每个varations与参数控制器包含的页面。

Ex。 $this->render('variation/1/page1')有点。

而如果您想使用一个特定的头信息的每一页,你可以使用

注册Meta标签

注册脚本文件/脚本

注册CSS文件/ CSS

设我知道是否有更好的方法来做到这一点。

1

创建三种不同的布局,称为variation1.php,variation2.php,variation3.php,然后根据操作(website.com/variation/pageone)或参数(website.com/variation/page/1)更改布局(在行动中)。

+0

我认为这是一个好主意。我也会试试这个。然而,问题在于内容改变的时候内容也改变了。不是吗? – JohnnyQ 2012-07-07 15:53:56