DEDECMS仿站建站基础:如何在文章页获取相关文章(LIKEART标签)
wordpress是一款优秀的博客系统,做小型文章类博客网站居多;
dedecms和phpcms都是综合内容管理系统,也就是中小型文章、、视频站都可以做,从功能方面来讲差不多。
我个人认为(以下内容不免带有个人喜好色彩,只供参考):
dedecms相对来说更老一些,架构上没有phpcms优秀,我很喜欢phpcms的mvc模块化单入口结构,所以我更喜欢用phpcms做二次开发,安全上,从我给客户做的网站被植入木马的次数来看,dedecms较多。
另外,dedecms的模板标签相对于phpcms的更庞杂一些,庞杂到很多站长记不住那么多标签只能借助于一些标签生成器,而phpcms只需要了解{}\pc\if\loop几个标签然后灵活组合使用即可。
dedecms是一个老牌cms,所以网上分享的dedecms模板多于phpcms模板。
dede57伪静态设置七步法:
第一步、后台-系统参数-核心设置-是否使用伪静态:选择“是”;
注:你的网站空间是否支持伪静态,你可以与空间的IDC商联系一下,如果是自己的服务器,那就更好办了,自己动手,丰衣足食。一般来说,空间都是支持伪静态的。Apache服务器伪静态相对简单,直接在htaccess文件中加入相应伪静态规则即可;而IIS服务器伪静态的实现,则需要加载Rewrite组件,然后配置httpdini文件。
第二步、如果你的网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具中执行如下语句:
将所有文档设置为“仅动态浏览”:
update dede_archives set ismake=-1
将所有栏目设置为“使用动态页”:
update dede_arctype set isdefault=-1
第三步、列表页、文章页伪静态修改
打开/include/helpers/channelunithelperphp。
(1)查找:
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]"/view-"$aid'-1html';
}
替换为
//动态文章
if($cfg_rewrite == 'Y')
{
return "/DedeCMS/DedeCMS57-"$aid'-1html';
}
意思是:将默认的/plus/view-1-1html文章链接格式改为/DedeCMS/DedeCMS57-1-1html。
(2) 查找:
//动态
$reurl = $GLOBALS['cfg_phpurl']"/listphptid="$typeid;
替换为
//动态
$reurl = "/category/list-"$typeid"html";
意思是:将默认的频道或是列表页URL/plus//listphptid=1变更为/dedecms/list-1html形式。
第四步、列表分页伪静态修改
打开/include/arclistviewclassphp
查找:
$plist = str_replace('phptid=', '-', $plist);
替换为
$plist = str_replace('plus/listphptid=', ‘DedeCMS/DedeCMS57-', $plist);
将默认的plus/listphptid=替换成RMB/list-;
意思是:将默认的列表分页链接格式plus/listphptid=x$x$xl修改为DedeCMS/DedeCMS57-x-x-xhtml。
第五步、文章分页伪静态
打开/include/arcarchivesclassphp,找到获取动态的分页列表GetPagebreakDM()函数末尾处:
查找:
$PageList = str_replace("plus/viewphptid=","DedeCMS/DedeCMS57-",$PageList);
替换为
$plist = str_replace('plus/viewphptid=', ’DedeCMS/DedeCMS57-', $plist);
将默认的plus/viewphptid=替换成RMB/huilv-;
意思是:将默认的文章分页链接格式plus/viewphptid=x$x$xl修改为DedeCMS/DedeCMS57-x-x-xhtml
第六步、TAG标签伪静态
DedeCms默认的TAG标签URL,形如/tagsphp/dedecms模板 /,是不是觉得有个问号不怎么爽,我们改成/tags/dedecms模板 /,是不是好看多了。
下面我们来改一下,打开/include/taglib/taglibphp:
查找:
$row['link'] = $cfg_cmsurl"/tagsphp/"urlencode($row['keyword'])"/";
替换为
$row['link'] = $cfg_cmsurl"/tags/"urlencode($row['keyword'])"/";
这样就修改好了,上传你到你的网站,切记:要记得将原网站备份哦!!
第七步、httpdini伪静态规则:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^()/RMB/list-([0-9]+)\html $1/plus/list\php\tid=$2 [I]
RewriteRule ^()/RMB/list-([0-9]+)-([0-9]+)-([0-9]+)\html $1/plus/list\php\tid=$2&TotalResult=$3&PageNo=$4 [I]
RewriteRule ^()/RMB/huilv-([0-9]+)-([0-9]+)\html $1/plus/view\php\arcID=$2&pageno=$3 [I]
RewriteRule ^()/()_()_([0-9]+)\html $1/huilv/from=$2&to=$3&num=$4 [I]
RewriteRule ^()/tags\html $1/tags\php [I]
RewriteRule ^()/tags/()(:(\)) $1/tags\php\\/$2 [I]
RewriteRule ^()/tags/()\/(:(\)) $1/tags\php\\/$2\/ [I]
RewriteRule ^()/tags/()\/([0-9])(:(\)) $1/tags\php\\/$2\/$3 [I]
RewriteRule ^()/tags/()\/([0-9])\/(:(\)) $1/tags\php\\/$2\/$3\/ [I]
将上面代码保存为:httpdini 上传到网站的根目录。
如无特特殊需求建议采用官方默认的生成静态的页面方式浏览。
耗谌菀持瓼IELD标签”,文章页用的最多的是field标签,但还有一些用的比较少的标签,往往有的时候却是需要它们,到这里引入我们今天的主题,如何获取相关文章,有的站长在考虑seo优化方面的时候就需要在文章下面加入相关文章链接,那么这个在DEDE里面要如何实现呢?别急,下面小编和大家一起学习一个新的标签,我们通过这个标签即可获取相关文章,这个标签叫likeart,likeart标签和我们前面讲的arclist也是有点类似的,因为它们都是获取文章列表,我们来看一下它是怎么个用法,只需要给它设置两个属性即可,一个是titlelen,是文章标签长度的意思,还有一个是row,是获取多少条的意思,这些都根据自己的需要来设置。下面小编来写一个完整的,大家可以参考下:1 {dede:likeart2 3 titlelen='24' row='10'}4 5 [field:title/]6 7 {/dede:likeart}在上述代码中,中间部分如果大家看了小编前面的教程想必都不会陌生的,是两个底层模板,底层模板小编讲的太多了,这里就不重复了,一个是文章URL,一个是文章标题。我们把代码保存到文章页模板(article_articlehtm)中适当位置,然后上传到您的php虚拟主机去测试,别忘了重新在后台生成下HTML哦,不然是看不到效果的,如果成功可以调取10篇相关文章,大家可以看下小编的测试效果图:DEDECMS仿站建站基础
Tags: dedecms, dedecms标签, dedecms模板dedecms的Field 标记在封面模板、列表模板、文档模板的使用频率很高,实用。主要用来获得特定栏目或档案的字段值及常用的环境变量值,其用法比较灵活。可以直接展示数据, 如调用position,得到栏目一 > 栏目二” 这样形式的链接;或者,调用title得到当前文档的标题。一:Field标签使用说明
Arclist 标记的使用范围是:封面模板(如:index_articlehtm)、列表模板(如:list_articlehtm)、文档模板 (如:article_articlehtm)。 即对应templets\default\文件夹下的index_识别IDhtm模板、list_识别IDhtm模板、article_识别 IDhtm模板。
注意: 封面模板与列表模板是有区别的,但调用Field 标记可以相同; 封面模板有不同的类型,我们最常用的是文章模板(index_articlehtm),其它的还有模板 (index_imagehtm),简介模板(index_infohtm),软件模板(index_softhtm)等等,这些模板调用 Field 标记的道理都是一样的。
二、Field标签测试实例新建一个文件(如:testindexhtml)放到templets/default下,然后将列表栏目的模板文件指定为新建的文件(testindexhtml)然后更新相应栏目的HMTL,点击主页上的相应栏目即可显示相应的调用信息。testindexhtml文件的Field 标记调用代码: <font color="red">调用position标记,得到:栏目一 > 栏目二” 这样形式的链接:</font>{dede:field name='position'/}<br/> <font color="red">插件路径:</font>{dede:field name='phpurl'/}<br/> <font color="red">模板路径:</font>{dede:field name='templeturl'/}<br/> <font color="red">版权信息:</font>{dede:field name='powerby'/}<br/> <font color="red">主页路径:</font>{dede:field name='indexurl'/}<br/> <font color="red">主页名称:</font>{dede:field name='indexname'/}<br/> <font color="red">站点名称:</font>{dede:field name='webname'/}<br/> <font color="red">所在栏目:</font>{dede:field name='title'/}<br/>
{dede,globalname=cfg_powerby/}。
dedecms中常用标签还有,版权{dede,global。cfg_beian/},底部调用标签,{dede,includefilename=footer。htm/},网站备案调用标签,{dede,globalname=cfg_beian/}等。
dede是织梦内容管理系统dedecms的简称,以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统。
接触帝国cms已经有一些时间了,最近又接触了dedecms,下边就说说最新的感受。
1首先从模板方面来说,dedecms的免费模板还是比较多的,这个得益于广大的dede用户共享。dede的官方模板可以直接使用。而帝国的官方提供的模板是table格式的,比较偏老了。当然如果你有一定html和css基础的还是自己来做的好,毕竟dedecms官方默认模板对于百度收录来讲并不是很好了现在。
2论坛的人气,帝国cms和dedecms的人气还都可以,热心程度感觉帝国cms比dedecms高些。
3版本的更新,帝国以大版本形式更新,dedecms以小版本形式更新,总体来说dede版本快于帝国。
4安全方面:dedecms关注的人比较多,市场占有率相当的高,因而成为黑客的挂马对象,入侵率比较高,容易被黑,而帝国cms而言安全方面则比较好。
5说说使用者最关心的模板制作方面:dedecms的模板标签设计相对帝国cms来说比较更容易入手,从本人自己制作的网站对比,相同的模板页数,dedecms的模板制作速度要快于帝国cms。
6seo优化方面,dedecms要比帝国cms稍胜一筹。
7伪静态生成速度,由于小数据量,无法对比出效果。不过从帝国cms最新的动态来看,才用新结构的帝国cms对于海量数据的处理更有优势。
8模板修改方面,由于帝国的模板在后台进行编辑,要比dedecms的更方便修改。
9个人对比,两个站分别用dedecms和帝国cms收录相对较快的是帝国cms,这个可能跟网站性质和结构内容运作也有关系。
0条评论