dede织梦获取顶级栏目名称出错,请教高手

{dede:field.typeid runphp='yes'}$ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";$query = mysql_query($sql);$row=mysql_fetch_array($query); $relID = "$row[reid]"; if($relID == 0) {@me = $row[typename];}else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$relID";$query = mysql_query($sql);$row=mysql_fetch_array($query); @me = $row[typename];}{/dede:field.typeid}

这段语句是新闻列表页面获取顶级栏目名称的,但是生成后发现只有第一页显示正常,翻到第二页就是空值了,请教高手如何修改啊?

找到 include/taglib/type.lib.php , 复制, 重命名为 toptype.lib.php
查找 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 `#@__arctype` where id='$typeid' ");
添加3行:
$topid=$dsql->GetOne("Select topid From `#@__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 `#@__arctype` where id='$topid' ");
模板调用: {dede:toptype}[field:typename/]{/dede:toptype}追问

你这个太复杂了,我自己找到一个手到病除,一行代码:
{dede:field.title runphp='yes'}list($toptype,$sontype)=split('/',@me);@me=$toptype;{/dede:field.title}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答