ci框架 视图中如何使用配置文件中的变量

比如在config文件夹中自定义了一个配置文件,用来存放各个页面的静态目录,使用uri作为key值。那么我在公共底部如何通过uri来读取到这个配置文件中的数据呢?

配置文件中:

$config = array(
    'static_config'=>array(
        'u/login'=>array(
            'css'=>"/static/css/login.css",
            'js'=>"/static/js/login.js"
        ),
        'index'=>array(
            'css'=>"/static/css/index.css",
            'js'=>"/static/js/index.js"
        )
    )
);

在footer.php中:

<?php
if(isset($static_config) && is_array($static_config)){
    $uri = trim( parse_url($_SERVER['REQUEST_URI'])['path'], '/' );

    echo '<script type="text/javascript" src="'.$static_config[$uri]['js'].'"></script>';
}
?>

我这是读取每个页面的静态路径的。可是这样的话,必须得在每个控制器中,写$static_config = $this->config->item('static_config');,然后再把$staic_config通过视图传递过去。footer.php才能使用。

那么如何配置,我就不用在每个控制器中都写相同的代码,在footer中就能使用呢。

或者,换个思路,在ci中实现不同的页面,加载不同的静态资源,该如何实现呢?

谢谢

阅读 3.9k
2 个回答

使用 公共函数config_item


<?php
$static_config = config_item('static_config');
if(is_array($static_config)){
    $uri = trim( parse_url($_SERVER['REQUEST_URI'])['path'], '/' );

    echo '<script type="text/javascript" src="'.$static_config[$uri]['js'].'"></script>';
}
?>

封装一个全局函数helper

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题