dedecms二次开发问题,关于“{dede:field name='position'}”标签,主页链接显示不正确。

dedecms二次开发问题,关于“{dede:field name='position'}”标签,主页链接显示不正确。,第1张

你看下这资料

参考资料:

http://bianp68abcom/dedecmschm Dedecms V31是所有CMS之中,安装流程最简单的,只需要一步就能完成,把dedecms的程序文件上传到服务器后,直接输入网址: http://你的网址/setup/ 即可进行安装,出现的界面如下图所示: 如果你以前曾经安装过其它PHP程序,相信不用教你都知道应该如何安装了,如果你以前是用ASP程序,需要注意如下几点: (1) DedeCms是居于PHP+MySQL技术开发的,因此你的虚拟主机当然要支持PHP和MySQL数据库了; (2) 你的主机商一般会提供一个MySQL数据库给你,这包含数据库名称、用户名、密码,通常的情况是,虚拟主机里使用的MySQL是不可能给你创建数据库的权限的,因此,你不能选择创建新数据库的形式,而是向你的空间商索取据库名称、用户名、密码,然后填写好就可以安装。 (3) 目录权限问题,如果你是在Windows系统的服务器,那么是不需要管目录权限的,如果在Linux或其它类Unix请注意:include、管理目录(dede/inc)/templets,这两个目录在程序安装使用前必须在FTP里把权限设为0777,安装好后,留意后台的提示,对其它目录权限进行一次检测。 此外,不管是新人,还是phper,都要注意的是:用户名和密码只能由 [a-z A-Z - _ @ ] 这些字符组成,不能是中文或其它的符号。 2、基本概念 DedeCms与部份CMS的一些概念可能不同,特别是一些小型的新闻系统,两者的原理是不同的,因此你必须理解DedeCms的一些特殊的概念。 (1)频道模型和网站栏目 [1]频道模型:是指文章、软件下载、图集、FLASH集等不同类型的内容模型,不同的频道模型,对应不同的模板和发布及编辑表单。 [2]栏目管理:DedeCms的模型是内核化的,与一些模块化的CMS可能不同,模块化的CMS它的每个频道都是独立的子系统,有专门的分类和其它管理,但DedeCms的所有内容的栏目都是统一管理的,如果你想新建一个下载的分类,不需要转到另一个模块中,而是直接在栏目管理中新建一个栏目,内容类型选择“软件下载”即可。 [3]初次使用DedeCms时,要注意建立栏目的一些常用选项:

一、修改{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”。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms二次开发问题,关于“{dede:field name='position'}”标签,主页链接显示不正确。

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情