解决Dede5.3中tag标签指定栏目ID无效的问题

解决Dede5.3中tag标签指定栏目ID无效的问题,第1张

概述网(LieHuo.Net)教程 针对V5.3中的tag标签指定栏目ID无效解决方法,红色的地方是我后加上的,你可以把以前的全部覆盖也可以。第一步:修改include/taglib/tag.lib.php这个文件 以下为引用的内容:<?php //function GetTags($num,$ltype='new',$InnerText=…

  内存溢出 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无效的问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1000800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存