首页 >

织梦DedeCMS在任一子级栏目获取顶级栏目名称 typename,包括该顶级栏目下

找到 include/taglib/type.lib.php , 复制, 重命名为toptype.lib.php

织梦DedeCMS在任一子级栏目获取顶级栏目名称 typename,包括该顶级栏目下

查找 function lib_type(&$ctag,&$refObj)

修改为:

function lib_toptype(&$ctag,&$refObj)

查找$row = $dsql->GetOne

注释掉//$row = $dsql->GetOne(“Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id=’$typeid’ “);

添加3行:

$topid=$dsql->GetOne(“Select topid From `dede_arctype` where id=’$typeid’ “);
$topid=$topid[‘topid’];
$row=$dsql->GetOne(“Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id=’$topid’ “);

模板调用:{dede:toptype}[field:typename/]{/dede:toptype}

修改后的toptype.lib.php

<?php

if(!defined('DEDEINC'))exit('Request Error!');

functionlib_toptype(&$ctag,&$refObj)

{

global$dsql,$envs;

$attlist='typeid|0';

FillAttsDefault($ctag->CAttribute->Items,$attlist);

extract($ctag->CAttribute->Items, EXTR_SKIP);

$innertext= trim($ctag->GetInnerText());

if($typeid==0) {

$typeid= ( isset($refObj->TypeLink->TypeInfos['id']) ?$refObj->TypeLink->TypeInfos['id'] :$envs['typeid'] );

}

if(empty($typeid))return'';

//$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");

$topid=$dsql->GetOne("Select topid From `dede_arctype` where id='$typeid' ");

$topid=$topid['topid'];

$row=$dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$topid' ");

if(!is_array($row))return'';

if($row['topid']==0){$row['topid']=$row['id'];}

if(trim($innertext)=='')$innertext= GetSysTemplets("part_type_list.htm");

$dtp=newDedeTagParse();

$dtp->SetNameSpace('field','[',']');

$dtp->LoadSource($innertext);

if(!is_array($dtp->CTags))

{

unset($dtp);

return'';

}

else

{

$row['typelink'] =$row['typeurl'] = GetOneTypeUrlA($row);

foreach($dtp->CTagsas$tagid=>$ctag)

{

if(isset($row[$ctag->GetName()]))$dtp->Assign($tagid,$row[$ctag->GetName()]);

}

$revalue=$dtp->GetResult();

unset($dtp);

return$revalue;

}

}

?>


如果想获取任一栏目的上级栏目,可将topid---->改为--->reid,最后记得改函数名和文件名

retype.lib.php

<?php

if(!defined('DEDEINC')) exit('Request Error!');

function lib_retype(&$ctag,&$refObj)

{

global $dsql,$envs;

$attlist='typeid|0';

FillAttsDefault($ctag->CAttribute->Items,$attlist);

extract($ctag->CAttribute->Items, EXTR_SKIP);

$innertext = trim($ctag->GetInnerText());

if($typeid==0) {

$typeid = ( isset($refObj->TypeLink->TypeInfos['id']) ? $refObj->TypeLink->TypeInfos['id'] : $envs['typeid'] );

}

if(empty($typeid)) return '';

//$row = $dsql->GetOne("Select id,topid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$typeid' ");

$reid=$dsql->GetOne("Select reid From `dede_arctype` where id='$typeid' ");

$reid=$reid['reid'];

$row=$dsql->GetOne("Select id,reid,description,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typelitpic From `dede_arctype` where id='$reid' ");

if(!is_array($row)) return '';

if($row['reid']==0){$row['reid']=$row['id'];}

if(trim($innertext)=='') $innertext = GetSysTemplets("part_type_list.htm");

$dtp = new DedeTagParse();

$dtp->SetNameSpace('field','[',']');

$dtp->LoadSource($innertext);

if(!is_array($dtp->CTags))

{

unset($dtp);

return '';

}

else

{

$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);

foreach($dtp->CTags as $tagid=>$ctag)

{

if(isset($row[$ctag->GetName()])) $dtp->Assign($tagid,$row[$ctag->GetName()]);

}

$revalue = $dtp->GetResult();

unset($dtp);

return $revalue;

}

}

?>


模板调用:{dede:retype}[field:typename/]{/dede:retype}



织梦DedeCMS在任一子级栏目获取顶级栏目名称 typename,包括该顶级栏目下
  • 织梦DedeCMS模板文章列表页随机放入广告代码的方法
  • 织梦DedeCMS模板文章列表页随机放入广告代码的方法 | 织梦DedeCMS模板文章列表页随机放入广告代码的方法 ...

    织梦DedeCMS在任一子级栏目获取顶级栏目名称 typename,包括该顶级栏目下
  • 织梦DedeCMS解决 Ueditor 上传图片不自动加水印的问题
  • 织梦DedeCMS解决 Ueditor 上传图片不自动加水印的问题 | 织梦DedeCMS解决 Ueditor 上传图片不自动加水印的问题 ...

    织梦DedeCMS在任一子级栏目获取顶级栏目名称 typename,包括该顶级栏目下
  • 织梦DedeCMS调用相关文章代码
  • 织梦DedeCMS调用相关文章代码 | 织梦DedeCMS调用相关文章代码 ...