EXCMS 标签文件
来自站长百科
导航:返回上一页
EXCMS的标签页文件为:tag.php,用于显示按Tag 标签及tag 内容的列表。
代码[ ]
01 <? 02 03 /** 04 * Project: EXCMS: the PHP content management system. 05 * File: tag.php 06 * 07 * A product of SINOICAN Inc. 08 * 09 * EXCMS is a ten million data-level,high speed,human-based content management system. 10 * 11 * EX is Excellence & Express & Exceed & Expert. 12 * 13 * For questions, help, comments, discussion, please join the 14 * EXCMS mailing list. Send a blank e-mail to 15 * excms@sinoican.com 16 * or join the EXCMS forum 17 * www.excms.cn/forum 18 * 19 * @link http://www.excms.cn/ 20 * @copyright Copyright (c) 2007-2009 SINOICAN Inc. 21 * @license http://www.excms.cn/licenses/LICENSE-1.0 22 * @category EXCMS 23 * @author hukuizhi 24 * @version $Rev: 58 $ 25 */ 26 27 /* $Id: tag.php 58 2009-11-03 02:31:37Z hukuizhi $ */ 28 29 /** 30 * TAG标签封面及列表程序 31 */ 32 33 //加载系统配置文件,移动本程序时,请修改配置文件路径 34 require_once ('configuration/inc/common.inc.php'); 35 36 //获取页面参数 37 $name = trim($_GET['name']); 38 $type = trim($_GET['type']); 39 $_PAGE['pageon'] = (int)$_GET['page']; 40 41 //当前位置 42 $split_str = " {$EXCMS['list_symbol']} "; 43 $_PAGE['position'] = "<a href='{$EXCMS['domain']}'>{$EXCMS['home_link_txt']}</a>"; 44 45 //定义页面模板 46 $tpl = 'tag.html'; 47 48 if ($name != '') { //显示tag列表 49 excms_import('EXCMS.content.Tag'); 50 $tag = new Tag(); 51 52 if($type == 'pinyin'){ 53 $name = iconv('UTF-8', 'GBK', $name); 54 } 55 $_PAGE['thisTag'] = $tag->getByName($name); 56 if(!(is_array($_PAGE['thisTag']) && count($_PAGE['thisTag']))){ 57 echo "不存在的Tag:$name";exit(); 58 } 59 60 //增加点击量 61 $tag->clickUp($_PAGE['thisTag']['tagid']); 62 63 $_PAGE['type'] = $type; 64 65 if($type == 'pinyin'){ 66 $tagContentIds = $tag->getContentIdsByName($name); 67 $tagIdArray = explode(',',$tagContentIds); 68 if(count($tagIdArray)<6){ 69 rsort($tagIdArray); 70 excms_import('EXCMS.content.Content'); 71 $content = new Content(); 72 excms_import('EXCMS.update.ContentFunction'); 73 $content_array = $content->getById($tagIdArray[0]); 74 $url = ContentFunction::getContentUrl($content_array); 75 76 header("HTTP/1.1 301 Moved Permanently"); 77 header("Location:".$url); 78 exit(); 79 } 80 } 81 unset($tag); 82 $_PAGE['name'] = $name; 83 84 //当前位置 85 $_PAGE['position'] .= $split_str . $name; 86 $tpl = 'taglist.html'; 87 } 88 89 //显示 90 excms_func_templateDisplay($tpl); 91 92 ?>
代码说明[ ]
- $name = iconv('UTF-8', 'GBK', $name); //将UTF-8编码转换成GBK编码。
- $_PAGE['thisTag'] = $tag->getByName($name); //根据TAG名称获取当前TAG的相关信息。
- $tag->clickUp($_PAGE['thisTag']['tagid']); //根据TAGID更新TAG点击数。
- $tagContentIds = $tag->getContentIdsByName($name); //获取当前TAG名称下所有内容ID。
- $content_array = $content->getById($tagIdArray[0]); //根据第一个内容ID获取内容的详细信息。
- $url = ContentFunction::getContentUrl($content_array); //根据内容详细信息获取URL地址。
代码修改[ ]
$type为'pinyin',tag列表将按照拼音进行TAG分组。 如果您不需要按拼音进行TAG分组,下面的代码可以去掉。
01 if($type == 'pinyin'){ 02 $name = iconv('UTF-8', 'GBK', $name); 03 } 04 05 if($type == 'pinyin'){ 06 $tagContentIds = $tag->getContentIdsByName($name); 07 $tagIdArray = explode(',',$tagContentIds); 08 if(count($tagIdArray)<6){ 09 rsort($tagIdArray); 10 excms_import('EXCMS.content.Content'); 11 $content = new Content(); 12 excms_import('EXCMS.update.ContentFunction'); 13 $content_array = $content->getById($tagIdArray[0]); 14 $url = ContentFunction::getContentUrl($content_array); 15 16 header("HTTP/1.1 301 Moved Permanently"); 17 header("Location:".$url); 18 exit(); 19 } 20 }
页面参数$_PAGE可以自由修改,根据模板的需要来增加和修改页面参数。模板中可自由调用页面的参数,例如:{$_PAGE.title}显示页面标题。