在codeigniter中处理多个外部视图文件


Working with multiple external view files in codeigniter

如果我有10个图像,2个javascript文件和4个css文件需要包含在Ci视图中…调用所有文件的最佳方式是什么?我试过使用$this->load->view('image1.png')和$this->load->view('style.css')调用所有外部文件。但它似乎不能正常工作。对如何更好地解决这个问题有什么想法吗?

你没有正确使用视图方法。你通常会分配一个视图,并将js和css之类的东西传递给模板。这取决于你如何使用框架。

$ this ->加载>视图("path-to-view");将在视图文件夹中查找视图,而不是任意文件。

你可以看看这个:http://codeigniter.com/user_guide/helpers/html_helper.html img

用于加载图像,尽管我个人认为为像图像这样的基本html元素调用框架的方法是没有意义的。

有些情况下,你会使用多个视图,如视图返回字符串-循环等可能需要这些-但这看起来不像你的问题的情况。以防万一,这里是视图文档:

http://codeigniter.com/user_guide/general/views.html

进一步说明,一般的想法是使用CI控制器来处理页面的数据,将必要的模板数据传递给模板(就像你的js和css特定于这个页面),然后将必要的数据分配给视图,并将该视图传递给模板。你可能也想知道我说的模板是什么意思,因为如果你只是按顺序调用它们,开箱即用的CI会逐步加载视图。

在你的控制器中,你可以给视图传递一个数组头信息:

$data['css'] = array('some-path.css','another-path.css');
$this->load->view('your-view', $data);

所以在处理标题的视图中你可以这样调用:

<head>
<?php foreach($css AS $c): ?>
    <link rel="stylesheet" type="text/css" href="<?php echo $c; ?>">
<?php endforeach; ?>
</head>

这里有一个CI模板的链接:

如何处理Codeigniter模板?

这是一个多功能框架,有很多你最喜欢的使用方式。