打开/include/arc.listview.class,找到
$this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLink->GetPositionLink(false));修改为
$this->Fields['title'] = ereg_replace("[<>]"," - ",$this->TypeLink->GetPositionLink(false));注意横线“-”两边还有两个空格,可以根据需要删除,建议采用竖线符号“|”,因两个栏目之间还有无法删除的空格。
文章标题 | 二级栏目 | 一级栏目_网站名称超过三层目录结构请继续往下读。
修改链接符号"/"的另一种方法如果你懒得修改源文件,也可以用php对{dede:field name='title'/}进行替换:
<title>{dede:field name='title' function='str_replace("|","/",@me) '/}{dede:global.webname/}</title>面包屑导航设置{dede:field name='position'/},列表页或内容页,一般显示如下,很显然不是我们想要的效果
首页 > en > channelname > articlename网上有直接修改position的,但是对于中英文站都需要用的标签,还不能采用直接修改的方法,只有直接调用频道咯。
如果是二层目录结构的网站就简单了,但是四级以上栏目调用可就伤脑筋了,特别是英文站放在子目录里,当然为了蜘蛛顺利抓取,不建议大家网站结构超过三层(包括文章层)。
网上有用sql的方法,但是觉得不灵活,万一别人修改了数据库呢!这里用到一个标签:{dede:channel type='parent'}[field:typename/]{/dede:channel},当然需要自己动手了
打开/include/taglib/channel.lib.php,找到
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 "; }在下面增加
else if($type=='parent') { $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` where id='$reid' AND ishidden<>1 order by sortrank asc limit 0, $line "; }当英文站作为二级栏目时,三级栏目调用栏目名和链接的完整面包屑如下:
<a href="{dede:type typeid='英文站栏目的id'}[field:typeurl/]{/dede:type}">HOME > {dede:type typeid='英文站二级栏目id'}<a href="[field:typeurl/]">[field:typename/]</a> > {dede:type}[field:typename/]{/dede:type}</a>四级栏目调用各栏目名和链接的完整面包屑代码如下:
<a href="{dede:type typeid='英文站栏目的id'}[field:typeurl/]{/dede:type}">HOME > {dede:type typeid='英文站二级栏目id'}<a href="[field:typeurl/]">[field:typename/]</a>{/dede:type}{dede:channel type='parent' }{/dede:channel} > <a href="{dede:type}[field:typeurl/]{/dede:type}">{dede:type}[field:typename/]{/dede:type}</a>