CodeIgnitter中的图像文件,CSS和JS文件

时间:2016-06-23 20:39:52

标签: javascript php html css codeigniter

我今天开始使用CodeIgniter了!所以我有两个简单的问题!

问题1 有什么方法可以自动化在PHP代码中引用图像的方式,而不是写img/mainpage/folder.png everytime? 我可以设置一个带有img文件路径的全局变量,并在所有页面中使用它吗?示例:set $IMGPATH = '..\img\'.并在所有页面中使用<img src='$IMGPATH\myimage.png'之类的内容?

问题2 有一种方法可以加载我的JS和CSS文件一次,让它可以用于所有页面而不是在每个页眉上加载JS和CSS文件?
如何使用CodeIgniter优化我的CSS和JS文件并将其加载一次并让它可用于所有页面?

3 个答案:

答案 0 :(得分:0)

问题1:

您可以使用将保存路径的静态成员创建一个类。

class Path {
  public static $path = "path/to/directory";
}

然后在您的代码中,您可以拨打<img src='<?=Path::$path?>/myimage.png' />

问题2:

使用框架是可能的,但这真的很糟糕。更好的方法是使用缓存。如果您使用apache,则可以启用mod_expires,然后使用以下内容:

<IfModule mod_expires.c>
  ExpiresActive On 
  ExpiresByType text/css "access plus 1 week"
  ExpiresByType text/javascript "access plus 1 week"
</IfModule>

这意味着浏览器只会从互联网上加载一次css和javascript文件,然后它会从缓存(非常快)加载一周。一周之后,它将再次从互联网上加载它们等等。

答案 1 :(得分:0)

问题1:
您可以创建一个新的配置值,取自CI的文档,只需在$this->config->set_item('image_location', 'image folder');处添加一个新值,并在使用$this->config->item('image_location');显示图像时调用它。

我并非100%确定,因为我没有在CI中设置自己的配置值,但是从文档https://www.codeigniter.com/userguide3/libraries/config.html开始,上面就是这样做的。

答案 2 :(得分:0)

<强> Q1

转到application/config/config.php并在最后添加

$config['image_path']='img/mainpage/';

所以在代码中你可以称之为

$this->config->item('image_path');

使用view参数($data

绑定它

<强> Q2

在视图文件夹中创建文件调用模板。(application/view/template.php)。在template.php

<?php $this->load->view('includes/header'); ?>
<?php $this->load->view($main_content); ?>
<?php $this->load->view('includes/footer'); ?>

从控制器传递数据时,请使用此

$data['main_content'] = 'path/of/relevant/view';
$this->load->view('template', $data);

header.php里面加载你所有的CSS和JS。