dedeCMS标签请教
做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标签静态化修改-织梦插件下载地址:
检查你的文件编码。还有你的标签的书写。php标签 需要后台开启才可以使用的。
页面的编码、文件的存储的编码、dedecms程序的编码要统一。
编码不能解析的原因,大部分是标签书写错误的原因。建议到dede默认的模板里直接复制。
{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}
$ctag->GetAtt('flag');当前默认情况下flag设置的是c属性。。如果必须在标签中存在这个flag这个字段例如:
{dede:arclist wodefiled='你号'}
{/dede:arclist}
那么在你的arclistlibphp中的代码就可以使用$ctag->GetAtt('wodefiled=');
在这种情况下可以获取到你的字段。。
如果当前你想调用默认的falg的标签就无需这么GetAtt了 它不会去查找你的定义默认的标签$attlist="flag|c,row|12,titlelen|24";也就是说你当前这里定义的属性不需要使用GetAtt来调用。
而如果{dede:arclist flag='h'}
{/dede:arclist}
而设置了flag的属性就可以调用了。
既然你用过kesioncms应该知道模板的绑定洛,你先到织梦后台系统设置将模板风格换成你自定义的名字(当然后台主页模板绑定的路径也要换),你在到根目录下的templets文件下建自定义的模板名字,dedecms里面主页是indexhtm,栏目也都是list_自定义名字htm,而内容页都是article_自定义名字htm,这些可以根据你的栏目名随意设定,设定完了你到后台分别添加栏目,在模板绑定里面可以设定自定义的模板,至于自定义标签在织梦里面用得少(和kesioncms不太一样呵呵,我觉得还是kesiongcms好用),其实都是用系统的标签来调文章,栏目什么的,这个你可以根据帮助文档里面的标签,或者在templets/default下的系统默认模板里面找相应的标签,或者在百度下载dedecms标签进行防站就OK了!顺便说一下cms只要懂一种其它的只要找到模板的位置,我觉得就ok了,至于标签调用网上大把的呵呵!!!
[field:litpic /]或者{dede:fieldlitpic /}
<!--这是调用文章缩略图的标签,前面的是在arclist等列表标签中调用的,后者是在文档内容页面调用文档详细信息中用的,本经验来自IT零五网-->
{dede:field name='imgurls' alt='输出区'}
[field:pagestyle runphp='yes'] @me= (@me==3 '<li>' : '');[/field:pagestyle]
<a href='[field:linkurl/]' [field:pagestyle runphp='yes'] @me= (@me==3 'class="pic"' : ''); [/field:pagestyle]>
<img src='[field:imgsrc/]' id='bigimg' [field:imgwidth /] alt='[field:alttext /]' border='0' />
</a>
<a href='[field:linkurl/]' [field:pagestyle runphp='yes']@me = (@me==3 'class="title"' : '');[/field:pagestyle]>
[field:title /]
</a>
[field:pagestyle runphp='yes'] @me = (@me==3 '</li>' : ''); [/field:pagestyle]
{/dede:field}
<!--上面是图集内容输出的标签,本经验来自IT零五网-->
0条评论