【ThinkPHP 开发辅助系统】简化加载资源文件

原创
2016/01/22 13:30
阅读数 258

特别是在使用bootstrap框架的时候引入很多js和css文件,虽然官方也提供了load、css、js等标签,但也仅仅是简写了html标签而已。 例如在assets目录下有主题文件夹theme1,在主题文件夹中有css、js和各种控件的目录,我们是否能只需要一个标签引入所有资源文件呢,利用thinkphp的自定义标签功能当然是能实现的了,代码如下

function _load($attr,$info){
        extract($attr);
        if (!$type) $type = 'js';
        if(!$dir) $dir = 'assets/';
        if($theme) $dir .= $theme.'/';
        if($path) $dir = $path;
        $fs = explode(",", $href);
        foreach ($fs as $k) {
            $f = $dir.$k;
            if ($type == 'js') {
                $s .= '<script type="text/javascript" src="'.$f.'.'.$type.'"></script>'."\n";
            }elseif ($type == 'css') {
                $s .= '<link rel="stylesheet" href="'.$f.'.'.$type.'">'."\n";
            }
        }
        return $s;
    }

使用

<Ui:load theme="theme1" type="css" href="css/styles,fonts/font-awesome/css/font-awesome.min" />   

相当于

<link rel="stylesheet" href="assets/theme1/css/styles.css">
<link rel="stylesheet" href="assets/theme1/fonts/font-awesome/css/font-awesome.min.css">  
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
1 收藏
1
分享
返回顶部
顶部