Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter模板库,带有部分视图-哪一个?_Codeigniter_Templates_Partial Views_Libraries - Fatal编程技术网

Codeigniter模板库,带有部分视图-哪一个?

Codeigniter模板库,带有部分视图-哪一个?,codeigniter,templates,partial-views,libraries,Codeigniter,Templates,Partial Views,Libraries,我开始研究这个话题有几个原因 1) 减少控制器中的重复代码 2) 配置我的网站中使用的3种主要布局-1栏、2栏和3栏页面 3) 能够拥有单独的局部视图文件,并根据模板(主内容、页眉、页脚和侧边栏)相应地加载它们 我在谷歌上搜索了这个主题,并提出了一些带有用户友好文档的示例,我希望得到一些指导 山姆·史蒂文斯的作品很棒。。。但是缺少为每个模板加载单个视图文件所需的动态性 Jens Segers只是把我的生活和这个不必要的胡言乱语混为一谈 菲尔·斯特金的作品看起来不错。。。但是缺少文档和bug使得像

我开始研究这个话题有几个原因

1) 减少控制器中的重复代码 2) 配置我的网站中使用的3种主要布局-1栏、2栏和3栏页面 3) 能够拥有单独的局部视图文件,并根据模板(主内容、页眉、页脚和侧边栏)相应地加载它们

我在谷歌上搜索了这个主题,并提出了一些带有用户友好文档的示例,我希望得到一些指导

山姆·史蒂文斯的作品很棒。。。但是缺少为每个模板加载单个视图文件所需的动态性

Jens Segers只是把我的生活和这个不必要的胡言乱语混为一谈

菲尔·斯特金的作品看起来不错。。。但是缺少文档和bug使得像我这样的新手很难启动和运行

从我能从其他用户那里了解到的情况来看,by William Concepts似乎是最好的——但它还没有开箱即用,而且我在尝试两次定义类似header的内容时遇到了错误!这对我不起作用

如果有人能告诉我哪一个库(或其他库)最能实现我想要实现的目标,我就可以把所有的注意力放在实现和理解它上,而不是在示例之间跳跃


此外,所有这些例子(除了山姆·史蒂文的)似乎都有(最初)年的历史了,这让我想知道,是否有更新或更新的例子可用?

这更多的是一个基于观点的问题,而不是一个有人能够真实回答的问题。这项工作没有最好的工具,只有不同的工具。首先,我要说的是,您可能只看到几年前的CI库的原因是,许多库已经被交付到使用名称空间和较新PHP5.3特性的较新框架。这并不是说CI不好,我仍然在我的一些项目中使用它

Phil Sturgeon曾经是CI的核心贡献者,但如果我没记错的话,现在已经转到了Laravel。(拉威尔也是我一直迁移到的地方)

Tutsplus是一个很棒的网站,里面有很多很棒的信息。事实上,就在最近,他们为CI开设了一门新的高级课程:


除此之外,我不知道另外两个,也不能给你任何信息。我不使用任何模板库,只在对象中为每个局部视图指定一个名称/索引,如果该名称存在,则调用局部视图,并使用同名对象中的属性(页眉、css、脚本、内容、页脚等)加载它。然后您就有了一个充当.net母版页的模板视图,您只需将部分视图注入其中。您也可以通过创建一个钩子来实现这一点。也许谷歌搜索CI模板钩子也是如此。

有人问了一个非常类似的问题。我甚至会把这个标记为一个重复的问题,但是既然你问“没有新的或更近的例子可用吗?”——我会咬人。 你应该试着使用它。它是今年发布的,有很好的文档记录,我在我所有的CodeIgniter项目中都使用它(完全公开:我是创建者)

它的一些特点是:

  • 轻松设置标题
  • 简单布局
  • 页面特定资产(js和css,非常适合jQuery插件)
  • 页面特定元数据
  • 大量HTML5助手
  • 将数据绑定到视图的灵活方式
  • 切片(也称为部分、包含、嵌套视图、元素等)
  • 切片回调(也称为视图模型,您可以在其中执行 每次使用切片时的代码块)
  • 同样,这是我建造的东西。这一切都是为了找到适合工作的工具,你应该研究什么最适合你的项目

    链接


    | |

    此页面的所有示例均不保留。 对于CodeIgniter中的模板,您可以使用CI,但它非常精简

    否则,您可以使用Smarty或Twig,它们对于局部视图有一个非常强大的功能:模板继承

    模板继承是一种管理模板的方法,类似于面向对象编程技术。与传统上使用{include…}标记来管理模板的某些部分不同,您可以将一个模板的内容继承到另一个模板(如扩展类)并更改其中的内容块(如重写类的方法)。这使模板管理最小化且高效,由于每个模板只包含与它扩展的模板的差异。模板继承允许您构建一个基本“骨架”模板,该模板包含站点的所有公共元素,并定义子模板可以覆盖的块