dedecms二次开发问题,关于“{dede:field name='position'}”标签,主页链接显示不正确。
第一个方法:
可以直接在需要判断网站织梦版本的的URL路径后面添加/data/admin/vertxt
如果显示:20100309 (或者其他的版本号,意思就是dedecms的不同版本的编号。)那就是用dedecms建设的。反之,则不是。
第二个方法:
直接查看目标网站的robotstxt文件,因为dedecms自带的robotstxt文件有一个规律,就是:
User-agent:
Disallow: /plus/ad_jsphp Disallow: /plus/advancedsearchphp
Disallow: /plus/carphp
Disallow: /plus/carbuyactionphp
Disallow: /plus/shops_buyactionphp
Disallow: /plus/erraddsavephp
Disallow: /plus/posttocarphp
Disallow: /plus/disdlsphp
Disallow: /plus/feedback_jsphp
Disallow: /plus/mytag_jsphp
Disallow: /plus/rssphp
Disallow: /plus/searchphp
Disallow: /plus/recommendphp
Disallow: /plus/stowphp
Disallow: /plus/countphp
Disallow: /include
Disallow: /templets
但是这种方法不是很准确,因为有很多网站在用dedecms制作完后直接就自己修改了dedecms的robotstxt文件了,当然,也有没有修改的,这种方法有时也可以起到作用哦!
第三个方法:(个人认为)
可以直接查看他的一些dedecms的默认的页面,像是tag页面啊,站内搜索页面,友情链接页面,或者是评论查看页面,因为有些网站在修改模版的 时候没有删除这些模版,当然,由于用不到那些页面,所以就没有修改,所以。。。。当然出来的就是dedecms默认的页面啦!!!不过这种方法只能看一般性的小站长或者dedecms初级玩家做的网站,不过也算是一种方法啦!
首页:
<title>{dede:globalcfg_webname/}</title>
<meta name="keywords" content="{dede:globalcfg_keywords/}" />
<meta name="description" content="{dede:globalcfg_description/}" />
设置是在“系统->系统基本参数->站点设置”里的“网站名称”、“站点默认关键字”、“站点描述”。
栏目页:
<title>{dede:fieldseotitle/}</title>
<meta name="keywords" content="{dede:fieldkeywords/}" />
<meta name="description" content="{dede:fielddescription/}" />
设置是在各栏目“修改->高级选项”里面的“SEO标题”、“关键字”、“栏目描述”。
文章页:
个人经验是文章标题做title和keywords,文章简介做description
<title>{dede:fieldtitle/}</title>
<meta name="keywords" content="{dede:fieldtitle/}" />
<meta name="description" content="{dede:fielddescription/}" />
在用dede:field name=’position’ 这个标签的时候我们调用的这个就是中文的,出现的是主页>+相应的栏目 ,那么这个问题怎么改成英文的呢?有好多大虾都说找到dede安装目录下include文件夹下的typelinkclassphp的第101行左右有个主页和“>”这个符号,所以我就试着改了一下,结果没有任何作用,所以自己就研究了一下,发现,原来dede自带的一些东西就能解决这个问题,在dede设置里面dede>系统>系统基本参数 里面有个参数叫做主页连接名,把主页改成Home或者相对应的英文就可以了。还有一个就是改dede:field name=’position’里面的>默认尖叫好的修改,改成自己自定义的符号,其实非常简单,在dede>系统>系统基本参数里面的核心参数选项卡中,有个栏目位置的间隔符号:自己吧想要修改后的标签,或者字符粘贴进去就行了。
一、dede后台开启伪静态
二、修改 /include/taglib/taglibphp
找到
$row['link'] = $cfg_cmsurl”/tagsphp/”urlencode($row['keyword'])”/”;
改成
$row['link'] = $cfg_cmsurl”/tags/”urlencode($row['keyword'])”html”;
三、打开templets/default/taglisthtm
找到
<strong>当前位置:</strong>:<a href=”{dede:globalcfg_cmsurl/}/”>主页</a> > <a href=’tagsphp’>TAG标签</a> > {dede:fieldtitle /}
修改为
<strong>当前位置:</strong>:<a href=”{dede:globalcfg_cmsurl/}/”>主页</a> > <a href=’/tagshtml’>TAG标签</a> > {dede:fieldtitle /}
四、httpdini 或者 htaccess 文件里加
RewriteRule ^()/tags\html $1/tags\php
RewriteRule ^()/tags/()html $1/tags\php\$2
{dede:channelartlist}
//顶级
{dede:field name='typeid'/}{dede:field name='typeurl'/}{dede:field name='typename'/}
//下级
{dede:channel}
[field:id /] [field:typeurl /] [field:typename /]
{/dede:channel}
{/dede:channelartlist}
在\dede\include\extendfuncphp文件中添加如下函数:
function getArticleList($category=0,$order="",$limit="0,200"){
global $dsql;
$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,
tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath
FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid
where tpid=$category";
//此sql语句我只加了where判断文章所属分类
//其他的order limit 你根据需要自己添加
$dsql->SetQuery($query);
$dsql->Execute('lit');
$arr = array();
$cnt = 0;
$str = "";
while ($row = $dsql->GetArray('lit')) {
if($cnt%4 == 0){
$str = "<div class='css1'>";
}
if($cnt%4 > 0){
$class = "css3";
}else{
$class = "css2";
}
$str = "<span class='"$class"'>"$row['title']"</span>";
$cnt++;
if($cnt%4 == 0){
$str = "</div>";
}
//$row中可用的常用字段如下:$row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']
}
return $str;
}
然后在模板中使用
{dede:field name='typeid' function="getArticleList(@me)" /}
将分类的id传给此函数就可以调用到数据,输出就是你要的格式。
输出内容你修改下php文件,常用字段都给你写在注释里了。
如果可以请也将我昨天给你回答的采纳一下。
做dede织梦程序的站长和优化dede织梦的SEOER,相信你们会发现dede织梦默认的dedecms(织梦系统)的Tag标签URL不是静态的,在织梦tag标签URL里含有“tagsphp/%BE%AD%D1%E9%B7%D6%CF%ED/”,如图 图见乐晨博客官网 很长而且网址也很难看,长难看不说,关键是像这类URL俗称动态的URL;做网站/seo优化的朋友我想大家都知道这是不利于搜索引擎的。那么,我们就要把它优化变成静态的;如何修改才能实现dede织梦TAG标签的静态化呢下面乐晨就站酷工作室的朋友指点及网络搜索一些知识来分享一下,希望可以帮到在这里遇到困难的伙伴们! 分享前先说下吧,针对DEDE织梦TAG标签静态化修改出了一款插件,开始走商业化的,后来随着竞争及分享,导致做这个技术的朋友利润估计少了;现在就成了免费的技术分享了!所以我们是幸运的。呵呵。。。不过虽然免费,但是不懂点基础的,改起来还是有点吃力!不信往下看 一、插件说明 本修改适用56可以生成网站所有TAG列表的静态网页文件,还有生成tag的首页静态文件。 乐晨温馨提示:修改前,请备份相关的原始文件。 二、步骤修改 1、在DEDE织梦网站根目录,建立“tag”目录(注:小写;为啥要建个”tag”目录呢小编操作过发现当你生成新的dede织梦TAG标签URL文件时,都会存储在这个目录里,如图) 图见乐晨博客官网 2、在DEDE后台SQL运行器里,执行以下一条SQL:ALTERTABLE`dede_tagindex`ADD`maketime`INT(10)UNSIGNEDNOTNULLDEFAULT'0'; 3、增加文件: templets/default/list_taghtm//可从文章列表页复制修改 templets/default/index_taghtm//可从taghtm复制 dede/makehtml_tag_action_listphp dede/makehtml_tag_action_indexphp dede/makehtml_tagphp dede/templets/makehtml_taghtm include/arctaghtmlclassphp 4、修改文件: dede/inc/inc_menuphp 143行,插入 include/taglib/taglibphp61行屏蔽,62行插入(参考附带的文件,也可以直接覆盖) include/extendfuncphp把里面的代码,都复制到你的extendfuncphp文件里 三、使用说明: 1、进入后台“生成”,即可看到左边的“更新TAG静态”(就在更新主页、栏目、文档等功能的下方) 2、自行编辑TAG列表页模板list_taghtm、TAG首页模板index_taghtm,都放在你站点模板所在目录即可(和首页模板、列表页模板、内容页模板等在一起) 3、生成有个选项“是否强制全部生成”,它是为了节约资源设计的 如果是“重新生成全部TAG列表”,它会更新所有的TAG的列表页; 如果是“仅更新上次生成后有变化的TAG”,它则会只更新上次更新之后有变化及新增加的TAG的列表页,这个比较节约时间 4、生成的TAG首页,放在根目录,叫做tagshtml 5、如果你的模板里,还有TAG需要指向到它的静态地址,则用参考这个函数去处理其标签即可: {dede:tagtype='current'} [field:idfunction="nic_tag_url(@me)"/] {/dede:tag} 其中的id就是这个TAG的ID号 6、在内容页模板,如果想指向该文TAG的列表页,用以下标签即可: {dede:fieldidfunction='nic_arc_tag_link(@me)'/} 在文章列表页、arclist标签等,使用一下代码调用文章TAG列表 [field:idfunction='nic_arc_tag_link(@me)'/] 四、高级补充说明: 1、TAG这个目录可以改,修改arctaghtmlclassphp的146行和extendfuncphp的15行,里面的tag/字样 2、文件名里的id号不能去掉,举例说因为“作业”和“昨夜”的拼音都一样,如果没有ID,他们的文件名就重复了。 3、生成速度和普通列表页一致的,因为是从哪里修改过来的。你有1万个TAG,假定你每个TAG对应有30个文章吧,列表页10篇为一页,那就有3万篇了。 你可以到后台的sql运行工具里,执行这一句看看,就知道TAG对应文章之后,数量就远大于TAG数量本身: selectcount()ascfromdede_taglist 4、如果需要在发布新文章的时候,同时更新相关的TAG列表页,可以参考附带的inc_archives_functionsphp,修改你DEDE后台目录dede/inc/inc_archives_functionsphp 增加741行、758~765行 这就是关于dede织梦tag标签静态化如何修改的方法;这里还需要插件的代码辅助! 织梦Tag标签静态化修改-织梦插件下载地址:
网站模板库 » dedecms二次开发问题,关于“{dede:field name='position'}”标签,主页链接显示不正确。
0条评论