特别是在使用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 .= ''."\n";
}elseif ($type == 'css') {
$s .= ''."\n";
}
}
return $s;
}
使用
相当于