|
|
本帖最后由 haoboweb 于 2012-12-22 23:12 编辑
发现tag似乎只能调内容。但是模块下面的栏目调用不了。于是把标签扩展了一下,既能够调用内容还能调用一个或多个栏目。多个栏目的调用还能根据写的栏目ID顺序显示。此功能相信能方便不少人吧。免费发出来供大家使用,需要做网站二次开发的请与我联系,长沙地区可以面谈。
在标签文件tag.func.php中加上如下代码。[ol]//子栏目获取 if($action=="getmaincat"){ $template = 'null'; isset($level) or $level = 1; isset($limit) or $limit = 100; $tags = get_maincat($catid,$moduleid,$level,$limit); } //一个或多个栏目获取 if($action=="getcat"){ $template = 'null'; isset($level) or $level = 1; $tags = get_cat($catid,$moduleid,$level); } if($template == 'null') return $tags; [/ol]复制代码因为多个栏目要排序,所以还要改 global.func.php中的函数:[ol]function get_cat($catid) { global $db; //$catid = intval($catid); if(strstr($catid,",")){ return $catid ? $db->get_one("SELECT * FROM {$db->pre}category WHERE catid in($catid) order by field($catid)") : array(); }else{ return $catid ? $db->get_one("SELECT * FROM {$db->pre}category WHERE catid=$catid") : array(); }}[/ol]复制代码[ol]function get_maincat($catid, $moduleid, $level = -1, $limit=100) { global $db; $condition = $catid ? "parentid=$catid" : "moduleid=$moduleid AND parentid=0"; if($level >= 0) $condition .= " AND level=$level"; $cat = array(); $result = $db->query("SELECT catid,catname,child,style,linkurl,item FROM {$db->pre}category WHERE $condition ORDER BY listorder,catid ASC limit 0,$limit", 'CACHE'); while($r = $db->fetch_array($result)) { $cat[] = $r; } return $cat;}[/ol]复制代码调用方式很简单的。看上面的代码就已经了解了相信。
注意action就OK了。 |
|