帝國cms 在終極欄目頁基于副表infotags實現當前欄目TAGS調用

分類欄目:經驗 - WEB前端

發布于 暫無評論

infotags是TAG的字段,是用來實現欄目的信息快捷分類的,是碎片化的概念,它是面向用戶的,一般來說它的詞要比關鍵字keyboard的要短,甚至是不一樣的詞。
keyboard是頁面關鍵字的字段,從優化的角度來說,把這關鍵字的詞也弄得很短的話,根本對優化沒什么效果。

那么問題就來了,很多人把infotags和keyboard的作用分不清,都把keyboard當作infotags來用,導致keyboard字段填寫的信息和TAG的一樣,這樣的話對信息分類或用戶體驗或優化都是不利的。

系統目前還沒有可調用當前欄目的TAGS列表的功能,我自己查了很多資料,還拿了論壇的一個網友的代碼改了改,做成的

注意:是查詢副表TASS字段infotags 的喲。并非是keyboard字段的。

1.添加函數到userfun.php

function user_show_classtags($tbname,$classid,$num){
                global $empire,$dbtbpre;

                if (empty($tbname)){
                        $tbname="news";
                }

                if (!empty($classid)){
                        $where=" where classid=".$classid;
                }else{
                        $where="";
                }


                $sql=$empire->query("select infotags from {$dbtbpre}ecms_{$tbname}_data_1".$where);

                while ($r = $empire->fetch ($sql)){
                        if ($r[infotags]){
                                $infotags.=','.$r[infotags];
                        }
                }

                $infotags=trim($infotags,',');
                $array=explode(',',$infotags);
                $count=array_count_values($array);
                arsort($count,SORT_NUMERIC);
                foreach($count as $key=>$val){
                $string=$string.$key.",";
                }
                $string=trim($string,',');
                $tagstring=explode(',',$string);

                if($num<=count($tagstring)){
                        $tagsnum=$num;
                }else{
                        $tagsnum=count($tagstring);
                }

                for ($j=0;$j<$tagsnum;$j++){
                echo "<li><a href=/e/tags/?tagname=".$tagstring[$j].">".$tagstring[$j]."</a></li>";
                }

        }

2.添加標簽

標簽名:當前欄目TAGS
標簽符號:showtagsclas
函數名:user_show_classtags
標簽格式:[showtagsclas]數據表名,欄目ID,TAGS條數[/showtagsclas]
標簽說明:隨便寫

3.調用方法

例子:[showtagsclas]download,$class_r[$GLOBALS[navclassid]][classid],30[/showtagsclas]