使用Codeigniter加载多个视图的最佳选择是什么?

曼尼斯·蒂瓦里(Manish Tiwari)

我想从一个函数中加载多个视图,将页面分为3部分

header.php
index.php
footer.php

我正在这样做:

$this->load->view('templates/header', $data);
$this->load->view('index');
$this->load->view('templates/footer');

但是在这种情况下,如果我想添加一些jquery文件和footer.php,那是上述代码无法实现的。

我从许多文章中看到的另一种方式

在视图索引页面中使用包含功能,如下所示:

<?php include('header.php'); ?>
<?php include('footer.php'); ?>

但是,如果我在footer.php之后添加几个jquery文件,则可能在上面的代码(包括代码)中。

但是我喜欢这样load->view,我可以根据需要使用它吗,或者Include函数最适合这个吗?

乔治·奥拉(George Olah)

您可以从每个视图内部使用$ this-load-> view,而不仅仅是控制器。

因此,在index.php视图文件中,可以在顶部加载页眉,在底部添加页脚。

我根本不会include()在CodeIgniter中使用CI具有装载程序,可用于您需要在其中使用的所有内容。

更好的方法是定义一个可以加载模板的库或模型。这样,如果您要更改顶部或底部包含的文件,则无需更改每个视图。您甚至可以根据每个控制器使用此加载js,css,seo元数据等。


实现此目的的方法是(让我们走模型路线):

  1. 创建一个名为TemplateModel的模型,该模型具有接收$ data的函数render。
  2. 在其中$data可以定义键:js,css,seo,content等。
  3. 使用从模型内部加载布局$this->load->view('template', $data)
  4. 在您的控制器中,将您的视图作为数据返回(例如index.php),并将其作为$data['content']以下形式发送到模型https : //www.codeigniter.com/user_guide/general/views.html#returning-views-as-data示例:

    $this->load-model('templateModel', 'template');
    $data['content'] = $this->load->view('index', '', TRUE);
    $this->template->render($data);
    
  5. 在模型渲染的视图中,在应显示的位置打印内容(顺便说一下页眉和页脚)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

CodeIgniter加载多个视图是什么意思?

使用python 3.6将多个文件并行加载到内存中的最佳方法是什么?

在 Django 中编写多个聚合视图的最佳方法是什么?

使用CodeIgniter导入js和CSS的最佳方法是什么?

在单个视图中组织多个ASP .Net MVC视图模型的最佳方法是什么?

在通知中使用选择器的最佳实践是什么

使用openssl和密码加密文件的最佳选择是什么?

使用Nokogiri抓取多个网站的最佳方法是什么?

使用实体框架连接多个表的最佳方法是什么?

使用实体框架连接多个表的最佳方法是什么?

使用实体框架连接多个表的最佳方法是什么?

在UL标签中使用多个标题的最佳实践是什么

Codeigniter:维护多个数据库连接数据的最佳实践是什么?

用 JSON 数据快速填充选择器视图的最佳方法是什么?

在一个视图上用不同的数据填充多个表的最佳方法是什么?

在多个视图控制器中轻松重用一堆代码的最佳实践是什么?

在多个视图之间保持同步活动的最佳实践或设计模式是什么?

在列表视图颤动中添加多个onTap事件的最佳方法是什么?

以编程方式制作多个可拖动视图的最佳方法是什么?

Spring 3的最佳视图层是什么?

(CodeIgniter)将模型加载到视图中的正确方法是什么

加载属性的最佳策略是什么?

加载Babel的最佳方法是什么?

从文件加载脚本的最佳方法是什么?

允许用户从多个函数中选择要在Python中运行的最佳方法是什么?

从具有不同案例的表中选择多个随机结果的最佳方法是什么

选择多个html标签及其值以在Javascript中应用表达式的最佳方法是什么?

构建 kubeflow 组件的最佳选择是什么?

选择表的主键的最佳实践是什么