dedecms二次开发问题,关于“{dede:field name='position'}”标签,主页链接显示不正确。
你看下这资料
参考资料:
一、修改{dede:field name='position'/}的文字间隔符,官方默认的是>
在include/typelinkclassPHP第101行左右将>修改为你想要的符号即可
二、去掉{dede:field name='position' /}最后的分隔符>
{dede:field name='position' runphp='yes'}
$a=mb_strlen(@me);//计算字符串的长度
@me=cn_substr(@me,$a-2,-1);//截取字符
{/dede:field}
三、{dede:field name='position'/} 中去掉 > 并去掉最后一个文本的链接的解决方案
{dede:field name='position' runphp='yes'}
$tc=" > ";
$tf=split($tc,@me);
$tn=count($tf);
for($iij=0;$iij<($tn-1);$iij++){
if($iij==($tn-2)){$tf[$iij]=strip_tags($tf[$iij]);}
$tl=$tl$tf[$iij];
}
@me=$tl;
echo @me;
{/dede:field}
如果还需要分隔符的话,就把$tl=$tl$tf[$iij]; 换成
$tl=$tl"空格分隔符空格"$tf[$iij];
-----------------------------------------------------------------------------------------------
备注:第二种办法是去掉了最后一个>,但链接还是显示的(大部分在栏目页时都不显示当前栏目链接),栏目页就这样调用了,满足了!
内容页就用笨办法,在后面加上“正文”两字。
在用dede:field name=’position’ 这个标签的时候我们调用的这个就是中文的,出现的是主页>+相应的栏目 ,那么这个问题怎么改成英文的呢?有好多大虾都说找到dede安装目录下include文件夹下的typelinkclassphp的第101行左右有个主页和“>”这个符号,所以我就试着改了一下,结果没有任何作用,所以自己就研究了一下,发现,原来dede自带的一些东西就能解决这个问题,在dede设置里面dede>系统>系统基本参数 里面有个参数叫做主页连接名,把主页改成Home或者相对应的英文就可以了。还有一个就是改dede:field name=’position’里面的>默认尖叫好的修改,改成自己自定义的符号,其实非常简单,在dede>系统>系统基本参数里面的核心参数选项卡中,有个栏目位置的间隔符号:自己吧想要修改后的标签,或者字符粘贴进去就行了。
dede栏目页的title在模板文件list_articlehtm里,默认是这样的:
<title>{dede:field name='title'/} - {dede:global name='cfg_webname'/} - powered by dedecms</title>
其中{dede:field name='title'/}在栏目页将显示为栏目名称;而{dede:global name='cfg_webname'/} 是你在后台管理里填的“网站名称”。
如果您的Dedecms只建了一级频道,也就是只有一层目录,那么栏目页的title直接在list_articlehtm里修改就ok了;
如果一级频道下还有次级栏目,栏目页的title里的{dede:field name='title'/}这部分默认会显示为“一级目录 // 二级目录”,如果要改掉/这个符号,需要:
打开/include/inc_arclist_viewphp文件
找到第75行
$this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLink->GetPositionLink(false));
改成
$this->Fields['title'] = ereg_replace("[<>]"," - ",$this->TypeLink->GetPositionLink(false));
就可以把原来的符号/替换成符号-,但这样修改后title显示成“一级目录 -- 二级目录”,也就是有两个--,我们还需要在后台“栏目位置的间隔符号”里把>>改成>。
资料来源:http://newsnetshop168com/cgal/1231249883html
第一步:在织梦后台左栏点击“系统”;
第二步:选择“系统”菜单下的“SQL命令行工具”;
第三步:输入如下代码:
insert into `dede_arcatt`(sortid,att,attname) values(9,'d','评论');
alter table `dede_archives` modify `flag` set ('c','h','p','f','s','j','a','b','d') default NULL;
第四步:点击“确定”。
需要说明的是:
代码第1行:values(9,'d','评论') 是根据我们需要自行定义的,其中9是sortid的值,是不可重复的,也就是每添加一个自定义属性,sortid的值就应该递增到10,11,12,以此类推!d是alt的值,是自定义属性的标记,与已存在的标记符号不能重复,“评论”是中文名称,是方便人们直观地勒戒自定义属性的含义的,可以根据需要改为“网络”、“新闻头条”等。
代码第2行:set ('c','h','p','f','s','j','a','b','d'),括号中的字母对应已存在的标记符号和您需要添加的标记符号,并按顺序录入,不得改变先后顺序。例如,d排序第9位,则对应第一行代码中添加的自定义属性““评论d”。
网站模板库 » dedecms二次开发问题,关于“{dede:field name='position'}”标签,主页链接显示不正确。
0条评论