织梦dedecms全站rss输出

  织梦Dedecms建站程序并没有内置好全站RSS输出功能,需要会员、使用者自主制作,这对于初学者来说是有一定难度的,如果用织梦Dedecms搭建的网站不能全站RSS输出,将不利于搜索引擎的收录,也不利于网站被抓虾、鲜果、飞豆、飞鸽等RSS阅读网站会员的订阅。当然,织梦Dedecms具有各频道的RSS输出功能,但这是很笨的RSS功能,对于稍为迟钝点的搜索引擎来说,可能检测不到。
  
  我想,估计织梦Dedecms程序开发员,以为全站RSS输出功能是很容易制作的,于是并没有像Wordpress、ZBLOG等于内核加插整站RSS输出功能。我曾为这一功能的开设搜遍了互联网,最初都是些极为复杂的方法介绍,可行性极差。后来发现有一种方法很管用,只加插上传两个文件就实现啦。这里分享一下我开设织梦Dedecms全站输出功能的经过:
  
  第一步,你先用记事本新建一个rss.php文件,把下面的代码拷贝到其中:

<?php
require_once (dirname(__FILE__) . "/include/common.inc.php");
require_once DEDEINC."/arc.partview.class.php";
$pv = new PartView();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/default/rss.htm");
header("Content-type:application/xml");
$pv->Display();
?> 
  
  不会建立rss.php文件的朋友,可[点此]下载已经建好的文件,将解压后的文件rss.php,直接保存该文件到站点根目录下,即可。
  
  第二步,制作一个rss.htm模板输出文件,把下面的代码拷贝到其中:

<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0">

<channel>

<title>{dede:global.cfg_webname/}</title>

<link>{dede:global.cfg_basehost/}</link>

<description>{dede:global.cfg_description/}</description>

<language>zh-cn</language>

<generator>{dede:global.cfg_webname/}</generator>

<webmaster>{dede:global.cfg_adminemail/}</webmaster>

{dede:arclist row=’60’ col=’1′ titlelen=’100′ orderby=’pubdate’}

<item>

<link>http://www.iwojie.com[field:arcurl/]</link>

<title><![CDATA[[field:title function=’html2text(@me)’/]]]></title>

<author>[field:writer/]</author>

<category>[field:typename/]</category>

<pubDate>[field:pubdate function=’strftime("%a, %d %b %Y %H:%M:%S +0800",@me)’/]</pubDate>

<guid>http://www.iwojie.com[field:arcurl/]</guid>

<description><![CDATA[[field:description function=’html2text(@me)’/] … <br /><b>文章分类</b>:[field:typename/]<br /><a href="http://www.iwojie.com[field:arcurl/]" target="_blank">阅读全文</a> | <a href="http://www.iwojie.com/plus/recommend.php?aid=[field:id/]" target="_blank">邮件推荐</a> | <a href="http://www.iwojie.com[field:arcurl/]" target="_blank">评论回复</a>]]></description>

</item>

{/dede:arclist}

</channel>

</rss>

  

  请将上面代码中http://www.iwojie.com的网址替换为你的网址,保存文件、上传到index.htm主页模板相同的目录/templets/default中

  

  完成上面步骤之后,登陆管理后台,清理一下缓存,重新生成一遍全站文件就可以实现全站RSS输出。而你的站的RSS网址是:http://你的网址/rss.php

修改模板目录中的head.htm中RSS订阅的地址指向为http://你的域名/rss.php即可。

如想让你的RSS更完美,并方便抓虾、鲜果、飞鸽等RSS阅读会员订阅的话,可以到feedsky.com上去申请一个帐号,然后添加一个管理,就可申请到一个永久的FEED地址,并把它设置指向你的rss.php链接:http://你的域名/rss.php
然后修改head.htm 中RSS订阅指向为:http://feed.feedsky.com/iwojie (这是我的网站rss,你要改成你的)

织梦dedecms完美修改版权信息

一共17+1处:

1.搜索页面: 
/templets/default/search.htm 
/templets/plus/heightsearch.htm 
/templets/default/advancedsearch.htm

2.通用底部模板: 
/templets/default/footer.htm

3.购物车: 
/templets/plus/car.htm 
/templets/plus/carbuyaction.htm 
/templets/plus/shops_action_payment.htm 
/templets/plus/shops_buyaction.htm

4.下载地址列表 
/templets/plus/download_links_templet.htm

5.挑错页面 
/templets/plus/erraddsave.htm

6.友情链接

/templets/plus/flink-add.htm 
/templets/plus/flink-list.htm

7.列表模板 
/templets/plus/list_diyform.htm

8.留言板 
/templets/plus/plus_foot.htm 
/templets/plus/guestbook-admin.htm 
/templets/plus/guestbook-user.htm

 

9.发布模板 
/templets/plus/post_diyform.htm

10.推荐 
/templets/plus/recommend.htm

11.RSS订阅地图 
/templets/plus/rssmap.htm

 

12银行账号信息 
/templets/plus/shops_bank.htm

13.图集详细页面 
/templets/plus/showphoto.htm

14.网站地图 
/templets/plus/sitemap.htm

15.详细内容 
/templets/plus/view_diyform.htm

16.提示信息 
/templets/plus/view_msg.htm 
/templets/plus/view_msg_catalog.htm

17.投票结果 
/templets/plus/vote.htm

最后一处是PHP文件中的,重要的提示信息…

/include/common.func.php ,一共有两处,分别替换:

织梦实现dedecms优酷视频全屏的办法

在用dedecms时,往往会用到视频,引用youku或者tudou的视频。但dedecms目前不支持youku或者tudou的视频全屏,哪么我们如使dedecms使用优酷、土豆等视频时能全屏呢?dedecms视频全屏的解决办法如下:

首先打开//include/FCKeditor/editor/dialog/fck_flash/fck_flash.js
找到SetAttribute( e, "height", GetE(‘txtHeight’).value ) ;    这段代码
然后将以下这段代码插入到SetAttribute( e, "height", GetE(‘txtHeight’).value ) ; 的后面
SetAttribute( e, "allowfullscreen", "true" ) ; 
SetAttribute( e, "id", "movie_player" ) ; 
SetAttribute( e, "quality", "high" ) ; 
SetAttribute( e, "flashvars","isShowRelatedVideo=false&showAd=0&show_pre=1&show_next=1&isAutoPlay=false&isDebug=false&UserID=&winType=interior&playMovie=true&MMControl=false&MMout=false&RecordCode=1001,1002,1003,1004,1005,1006,2001,3001,3002,3003,3004,3005,3007,3008,9999" ) ;
至此dedecms视频全屏得以实现。
注:此方法只实用发布视频的时候一定要用“插入”视频,而不是用html代码来发布。

修改织梦DedeCms文章页默认title的方法

DedeCms文章页的默认title结构是:“文章标题_网站名称”。

如果您不喜欢这类命名方式,喜欢“文章标题_栏目页_网站名称”、“文章标题_二级栏目_一级栏目_网站名称”这类的命名方式,可以将下列代码替换到模板文件article_article.htm,替换<title></title>标签之间的{dede:field.title/}_{dede:global.cfg_webname/},即可实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

{dede:field name=’title’/}_{dede:field name=’position’ runphp=’yes’}

$tc="_"; //分隔符

$tw=$GLOBALS[‘cfg_list_symbol’]; //调用位置分隔符

@me=html2text(@me); //去除html标签

$tf=split($tw,@me); //分解成数组

for($ta=(count($tf)-2);$ta&gt;=1;$ta–){ //循环赋值给$tk

$tk.=trim($tf[$ta]).$tc;

}

$tk=substr($tk,0,-1);

@me=$tk; //赋值给@me

{/dede:field}_{dede:global name=’cfg_webname’/}

然后再重新生成所有页面。

织梦DedeCms调用全站相关文章方法

织梦DedeCms 有个标签可以调用相关文章,通过下面的修改可以调用全站的相关文章,文章页内显示相关文章内容,可以提高关键词密度,还是挺不错的。

模板调用代码

<div>
     <dl>
           <dt><strong>相关文章</strong></dt>
               <dd>
                  <ul>
                       {dede:likearticle col=’2′ row=’10’ titlelen=’42’}
                             <li><a href="[field:arcurl/]">[field:title/]</a></li>
                      {/dede:likearticle} 
                  </ul>
               </dd>
     </dl>
</div>

找到文件:\include\taglib\likearticle.lib.php
找到代码:

$typeid = " And arc.typeid in($typeid) And arc.id<>$arcid ";

修改为:

$typeid = " And arc.id<>$arcid ";

保存后重新更新一遍所有页面即可。

修改织梦DedeCms文章页默认title的方法

DedeCms文章页的默认title结构是:“文章标题_网站名称”。

如果您不喜欢这类命名方式,喜欢“文章标题_栏目页_网站名称”、“文章标题_二级栏目_一级栏目_网站名称”这类的命名方式,可以将下列代码插入到模板文件article_article.htm,<title></title>标签之间,即可实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

{dede:field name=’title’/}_{dede:field name=’position’ runphp=’yes’}

$tc="_"; //分隔符

$tw=$GLOBALS[‘cfg_list_symbol’]; //调用位置分隔符

@me=html2text(@me); //去除html标签

$tf=split($tw,@me); //分解成数组

for($ta=(count($tf)-2);$ta&gt;=1;$ta–){ //循环赋值给$tk

$tk.=trim($tf[$ta]).$tc;

}

$tk=substr($tk,0,-1);

@me=$tk; //赋值给@me

{/dede:field}_{dede:global name=’cfg_webname’/}

然后再重新生成所有页面。

织梦DedeCms列表页文章缩略图设置,有就显示,没有不显示

不少用织梦建站朋友想实现这个功能,有时候未必偏偏文章都会配有图片,所以就想实现有缩略图则显示缩略图,无则不显示图片。

可以按照下面这个方法修改实现。

编辑打开/templets/default/list_article.htm (这是默认模板)

搜索下面这段代码

1

[field:array runphp=’yes’]@me = (empty(@me[‘litpic’]) ? "" : "<a class="preview" href="{@me["><img src="{@me[" alt="" /></a>"); [/field:array]

将其替换为

1

[field:array runphp=’yes’]@me = (strpos(@me[‘litpic’],’defaultpic’) ? "" : "<a href='{@me[‘arcurl’]}’ class=’preview’><img src='{@me[‘litpic’]}’/></a>"); [/field:array]

然后再重新生成一遍列表页。

织梦DedeCms网站更换域名后文章图片路径批量修改

因为织梦上传图片用的是绝对地址,如果域名更换后,之前发布的文章的图片URL是不会跟着改变的,所以我们需要把旧域名替换成新的域名,方法很简单,有一段SQL语句更新一下文章正文内容就行。

复制下面SQL语句进织梦DedeCms的后台,点 系统 -> SQL命令行工具,然后看到一个文本框,在文本框内输入SQL语句,按确定之行。如果操作成功,上面会提示“成功执行x个SQL语句!”

update dede_addonarticle set body=replace(body,’旧域名’,’新域名’)

然后再重新生成一遍HTML页面,文章内的旧域名就全部替换成新的了。

修改织梦DedeCms不跳转至index.html页面

用织梦DedeCms搭建网站,一般访问首页的时候,他会跳转至带有index.html的页面上,这样对网站权重传递方面会造成一些影响。我们可以通过修改代码实现不跳转至index.html页面。

编辑打开include/channelunit.func.php页面

查找

$reurl = $typedir.’/’.$defaultname;

替换成

$reurl = $typedir.’/’;

修改完成后就不会再跳转至index.html页面了。