CodeIgniter:使用模板的技巧

发布于 2024-10-10 20:44:49 字数 98 浏览 1 评论 0原文

刚刚开始使用 Codeigniter(昨天),我想知道人们正在使用哪些模板功能?

是否可以创建一个视图并在需要时加载它?

谢谢,

琼斯

Just started using Codeigniter (yesterday) and am wondering what templating features people are using?

Is it possible to create a view and just load it whenerever necessary?

Thanks,

Jonesy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

别挽留 2024-10-17 20:44:49

模板化的想法是创建具有公共标题的共享布局。页脚等,然后只有一个每页更改的“正文”。

在最基本的级别上,您可以在每个视图中包含页眉和页脚,如下所示:

加载->视图('标题'); ?>

这是我的页面。

加载->视图('页脚'); ?>

这可能没问题,但开始构建任何实际大小的应用程序,您都会发现问题。

进行模板化的方法有数百万种,但我多年来使用的方法是这个 模板库。它帮助我完成了 20-30 个不同的项目,并且被许多人使用,所以你知道它已经过尝试和测试。

The idea of templating is to create a shared layout with a common header. footer etc and then just have a "body" that changes per-page.

At the most basic level you can just include header and footer inside each of your views like this:

load->view('header'); ?>

This is my page.

load->view('footer'); ?>

That can be fine but start building an application of any real size and you'll find problems.

There are million ways of doing templating, but the way I have used for years is this Template library. It's seen me through 20-30 projects varying projects and is used by many so you know it's tried and tested.

撩人痒 2024-10-17 20:44:49

是否可以创建一个视图并在需要时加载它?

是的。这是MVC结构的典型行为,而不仅仅是在CI中。您的视图是表示层,应该基本上没有逻辑/处理。

Is it possible to create a view and just load it whenerever necessary?

Yes. This is the typical behavior of the MVC structure, not just in CI. Your views are presentation layers that should be mostly devoid of logic/processing.

一页 2024-10-17 20:44:49

另一种方法如下。

在您的控制器中,像这样加载您的模板

$template_data = array('contains', 'data', 'for', 'template',
                       'while', 'the', 'specific' => array('may', 'contain',
                       'data', 'for', 'the', 'view_file'));
$this->load->view('template/needed.php');

在您的模板中,您现在拥有 $template_data 数组来填充它[如果需要!]。您现在可以像这样加载特定视图

<div id="yield">
  <?php echo $this->view('specific/viewer.php', $template_data['specific']); ?>
</div>

注意:

  1. template/needed.php应该位于application/views文件夹中。
  2. specified/viewer.php 文件也应该位于您的 views 目录中(即该文件的路径应该类似于 WEB_ROOT/application/views/specific/ viewer.php

这样做的好处是,如果需要的话,任何视图文件都可以用作模板。

Another way to do this is the following.

In your controller, load your template like so

$template_data = array('contains', 'data', 'for', 'template',
                       'while', 'the', 'specific' => array('may', 'contain',
                       'data', 'for', 'the', 'view_file'));
$this->load->view('template/needed.php');

In your template, you now have the $template_data array to populate it [if need be!]. You may now load the specific view like so

<div id="yield">
  <?php echo $this->view('specific/viewer.php', $template_data['specific']); ?>
</div>

Note:

  1. The template/needed.php should be in the application/views folder.
  2. The specific/viewer.php file should also be in your views directory (i.e. the path to this file should be something like WEB_ROOT/application/views/specific/viewer.php)

The beauty of this is that any view file could be used as a template if need be.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文