Php 在codeigniter中使用多个外部视图文件

Php 在codeigniter中使用多个外部视图文件,php,codeigniter,Php,Codeigniter,如果我有10个图像、2个javascript文件和4个css文件需要包含在Ci视图中。。。调用所有文件的最佳方式是什么?我尝试使用$this->load->view('image1.png')和$this->load->view('style.css')调用所有外部文件。但它似乎不能正常工作。关于如何更好地解决此问题,您有什么想法吗?您没有正确使用视图方法。 您通常分配一个视图,并将js和css之类的内容传递给模板。这可能因您使用框架的方式而异 $this->load->view('path-t

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

您没有正确使用视图方法。 您通常分配一个视图,并将js和css之类的内容传递给模板。这可能因您使用框架的方式而异

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

你可以研究一下:

对于加载图像,尽管我个人认为调用框架的方法来处理基本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>


您没有正确使用视图方法。 您通常分配一个视图,并将js和css之类的内容传递给模板。这可能因您使用框架的方式而异

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

你可以研究一下:

对于加载图像,尽管我个人认为调用框架的方法来处理基本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是一种垃圾。好的,首先,echo img('images/picture.jpg');-echo作为html图像输出,但我只需要css的链接路径。其次,-工作不正常。-这是一个网站,我正试图得到的图像和一切工作正常。从Chrome控制台的“网络”选项卡可以看出,加载.CI时会出现许多错误。只要保持视图的正确定义,视图中的CI视图就相当简单。如果你试图在其意图范围之外使用它,那将是一堆废话。无法在视图中加载脚本。这样不行。正如我所说的,将脚本URL作为数组传递给主视图,并在头部的for循环中回送它。通常,调用的多个视图仅限于页眉、内容、页脚和侧边栏,但只要您知道何时使用视图以及何时只调用视图中的脚本,就可以尝试将它们用于所需的任何小对象。etcOr只是将依赖项硬编码到视图中。我发誓这是令人沮丧的。当涉及到在视图中处理视图时,Ci是一种垃圾。好的,首先,echo img('images/picture.jpg');-echo作为html图像输出,但我只需要css的链接路径。其次,-工作不正常。-这是一个网站,我正试图得到的图像和一切工作正常。从Chrome控制台的“网络”选项卡可以看出,加载.CI时会出现许多错误。只要保持视图的正确定义,视图中的CI视图就相当简单。如果你试图在其意图范围之外使用它,那将是一堆废话。无法在视图中加载脚本。这样不行。正如我所说的,将脚本URL作为数组传递给主视图,并在头部的for循环中回送它。通常,调用的多个视图仅限于页眉、内容、页脚和侧边栏,但只要您知道何时使用视图以及何时只调用视图中的脚本,就可以尝试将它们用于所需的任何小对象。etcOr只是将依赖项硬编码到视图中。您应该在视图中调用一个html/php文件,它是一个模板,而不是js、css或图像。这就像制作一个静态页面,您应该在视图中调用一个html/php文件,它是一个模板,而不是js、css或图像。这就像你在做一个静态页面