织梦dedecms 文档数量 标签
我们在使用织梦dedecms制作网站的时候,有时会遇到利用arclist和list标签调用redirecturl属性。但是,dedecms的arclist和list标签不支持redirecturl。很多网站采用的是直接跳转的地址 虽然也可以使用[field:arcurl/] 但是那样会产生一个中转的跳转过程,几天青岛做网站就跟大家分享一下如何在织梦的arclist和list标签中调用跳转网址。
做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标签静态化修改-织梦插件下载地址:
打开include/commonfuncphp文件
在最后的>之前加上
//统计栏目文章数
function GetTotalArc($tid){
global $dsql;
$sql = GetSonIds($tid);
$row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})");
return $row['dd'];
}
然后就可以在模板上用
{dede:channel type='son' row='20'}
<dl><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]) </dl>
{/dede:channel} 进行调用,[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]这个就是调用的总数
dede织梦如何添加“自定义属性”标签“症状”1、进入后台——系统——SQL命令行工具——运行SQL命令行,添加arcatt表字段:insert into`dede_arcatt`(sortid,att,attname) values(9,‘d‘,‘症状‘)2、添加archives表字段:alter table `dede_archives` modify `flag` set (‘h‘,‘c‘,‘p‘,‘f‘,‘s‘,‘j‘,‘a‘,‘b‘,‘d‘) default NULL 看着加粗的SQL指令,顾名思义是先在表里插入新记录(要添加的属性),然后修改另一个关联表的flag字段以添加标签d。没错,就是这样简单,你已经成功添加了新的属性并可以模板调用了。当然你也可以用phpmyadmin数据库工具傻瓜式添加属性。需要说明的是: 代码第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”。2、后台——模板——默认模板管理——indexhtm在“indexhtm”中进行修改,在需要调用症状的地方添加代码“{dede:arclist flag=‘d‘ limit=‘0,1‘ infolen=‘230‘}”3、添加文档,在自定义属性中将“新自定义属性”勾选,就可实现,勾选的文档出现在首页,为勾选出现在内页。删除自定义属性:
DELETE FROM dede_arcatt WHERE sortid=‘9‘
dedecms:织梦文章如何添加“自定义属性”标签(sql命令行工具)
标签:
0条评论