|
|
1
26
名为“base”的视图是一个模板(包含其他视图的视图):
实际控制人如下所示:
然后我可以像这样在视图中使用它的属性(这是填充
我喜欢我的方法,因为它尊重DRY原则,并且在代码中只包含一次页眉、页脚和其他元素。 |
|
|
2
29
@Reinis的答案可能对CI 2.0以下的旧版本是正确的,但是从那以后有很多变化,所以我想我应该用我所做的最新方法来回答这个问题。 大部分类似于@Reinis方法,这里也有描述: http://codeigniter.com/wiki/MY_Controller_-_how_to_extend_the_CI_Controller
第二步:在你的“我的”_控制器.php文件放入以下内容:
设置这些控制器后,请执行以下操作: 第4步:在/application/views中创建一个基本视图并命名文件基本.php,文件内容应类似于:
完成所有这些之后,您将看到以下输出:
如你所见
资源: 希望这有助于其他人遇到这个技术。 |
|
|
3
6
语法非常简单:
简单是吧? 把它放进我的控制器里,就更简单了。 |
|
|
4
1
你考虑过模板吗?只要稍加搜索,就可以找到许多不错的网站-请查看CI wiki。 模板的作用或多或少与你所追求的一模一样。您定义了一个主模板和“节”,并且每次都为您加载它们 |
|
|
5
1
我会做一个我的控制器来处理这一切。你可以用一个布局(模板)/导航库来生成所有的布局、导航、显示/突出显示选中的菜单项、加载视图等。 如果你对每个页面部分都使用一个控制器,我会说这不是正确的方法。您可以使用视图和嵌套视图。 |
|
|
6
1
我喜欢菲尔·斯特金提到的。虽然它被认为是非常复杂,我真的很喜欢magento的模板结构。 受这种结构方式的启发,我制定了我的逻辑,(这一点都不伟大,但它很简单,因为它可以,。或许我可以重写->view loader,让它接受某种对象作为模板名,然后根据需要加载结构) :必须非常负责地使用此方法(您必须在模板所需的控制器/方法中准备数据! 第二 :模板需要正确准备和结构。 我就是这么做的:
第三的
向前地 文件位于/app/view/主要.php看起来像:
第五 包装器是一个简单的php在结构化HTML中,你有 标题(加载html标题、标题等…) 布局(加载在布局文件中,该文件只包含新的html结构化文件和下一级加载文件) footer/footers(如果有传入的$data['view']['footers']变量,则在footers中加载) 脚本(在tag之前加载inscript,比如analytics/facebook脚本) 第六 如果我需要某种方法,我只需重写公共$view=Array(…)属性的一部分,而只重写不同的部分。 它是这样做的:
就这样。。。
|
|
|
7
-2
|