在开发织梦模板的时候,在调用dede:channel标签时,需要将栏目中seotitle中的内容也可以调用出来。默认是不支持调用的。做了一下二次开发,让channel标签支持seotitle的调用。

开发方法如下:

1、打开include/taglib/channel.lib.php,找到如下代码:

if($type=='top') 
{ 
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line "; 
} 
else if($type=='son') 
{ 
if($typeid==0) return ''; 
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
From `dede_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line "; 
} 
else if($type=='self') 
{ 
if($reid==0) return ''; 
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; 
}

修改为:

if($type=='top') 
{ 
$sql = "SELECT id,typename,seotitle,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line "; 
} 
else if($type=='son') 
{ 
if($typeid==0) return ''; 
$sql = "SELECT id,typename,seotitle,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
From `dede_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line "; 
} 
else if($type=='self') 
{ 
if($reid==0) return ''; 
$sql = "SELECT id,typename,seotitle,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; 
}

前台模板调用方法:

{dede:channel type='top' row='10'}

<li><a href='[field:typeurl/]'>[field:typename/]<br/>[field:seotitle/]</a></li>

{/dede:channel}

完成。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。