内存溢出 jb51.cc 针对V5.3中的tag标签指定栏目ID无效的解决方法,红色的地方是我后加上的,你可以把以前的全部覆盖也可以。
第一步:修改include/taglib/tag.lib.PHP这个文件
以下为引用的内容: <?PHP //function GetTags($num,$ltype='new',$InnerText='') function lib_tag(&$ctag,&$refObj) { global $dsql,$envs,$cfg_CMSurl; //属性处理 $attList="row|30,sort|new,getall|0,typeID|0"; FillAttsDefault($ctag->CAttribute->Items,$attList); extract($ctag->CAttribute->Items,EXTR_SKIP); $InnerText = $ctag->GetInnerText(); if(trim($InnerText)=='') $InnerText = GetSystemplets('tag_one.htm'); $revalue = ''; $ltype = $sort; $num = $row; $addsql = ''; if($getall==0 && !empty($refObj->FIElds['Tags']) && !empty($refObj->FIElds['aID'])) { $dsql->Setquery("Select tID From `dede_tagList` where aID = '{$refObj->FIElds['aID']}' "); $dsql->Execute(); $IDs = ''; while($row = $dsql->GetArray()) { $IDs .= ( $IDs=='' ? $row['tID'] : ','.$row['tID'] ); } if($IDs != '') { $addsql = " where ID in($IDs) "; } } else { if(!empty($typeID)) { $addsql = " ta join `dede_tagList` tb on ta.ID=tb.tID where tb.typeID='$typeID' "; } } if($ltype=='rand') $orderby = ' rand() '; else if($ltype=='week') $orderby=' weekcc desc '; else if($ltype=='month') $orderby=' monthcc desc '; else if($ltype=='hot') $orderby=' count desc '; else $orderby = ' addtime desc '; $dsql->Setquery("Select * From `dede_tagindex` $addsql order by $orderby limit 0,$num"); $dsql->Execute(); $ctp = new DedeTagParse(); $ctp->SetnameSpace('fIEld','[',']'); $ctp->LoadSource($InnerText); while($row = $dsql->GetArray()) { $row['keyword'] = $row['tag']; //lIEhuo.net $row['tag'] = HTMLspecialchars($row['tag']); $row['link'] = $cfg_CMSurl."/Tags.PHP?/".urlencode($row['keyword'])."/"; $row['highlight'] = 0; if($row['monthcc']>1000 || $row['weekcc']>300 ) { $row['highlight'] = mt_rand(3,4); } else if($row['count']>3000) { $row['highlight'] = mt_rand(5,6); } else { $row['highlight'] = mt_rand(1,2); } foreach($ctp->CTags as $tagID=>$ctag) { if(isset($row[$ctag->Getname()])) { $ctp->Assign($tagID,$row[$ctag->Getname()]); } } $revalue .= $ctp->GetResult(); } return $revalue; } ?> |
第二步:在你的列表模板中,引用如下tag标签即可。
{dede:tag sort='new' getall='0' row='4' typeID='6'}
<a href=[fIEld:link/]>[fIEld:tag /]</a>
{/dede:tag}
红色的地方一定要有,然后getall='0' 就可了。
以上是内存溢出为你收集整理的解决Dede5.3中tag标签指定栏目ID无效的问题全部内容,希望文章能够帮你解决解决Dede5.3中tag标签指定栏目ID无效的问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)