织梦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 ";

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

修改织梦默认栏目页文章页URL命名规则,简化目录结构

用织梦DedeCms建站,建议优化系统默认的URL结构,这样能简化网站目录深度,利于搜索引擎收录。 

现在织梦的默认文章命名规则是 

{typedir}/{Y}{M}/{D}/{aid}.html 

{typedir}代表的是上级目录 

如我的网站http://www.iwojie.com/ 

按照织梦默认的命名规则,一级栏目下生成的文章URL为 

http://www.iwojie.com/skill/2010/826/1.html 

二级目录下生成的文章URL为 

http://www.iwojie.com/skill/no1/2010/826/2.html 

大家可以看出,在一级目录最终生成的文件已经是在三级目录下了,在二级目录下生成的文章就到了四级目录, 

分类越细的话,最终生成的文章所在目录就越深,这样不利于搜索引擎访问该页面,所以建议大家更改织梦文章默认的命名规则,减少多余目录, 

直接在栏目目录下就生成HTML文件,把年月日这两个文件夹精简掉,这样更有利于seo优化 

我现在的文章页URL的命名规则是{typedir}/{aid}.html,删除了年月日两个文件夹,或则你也可以改为{typedir}/{Y}{M}{D}{aid}.html,将年月日和文章ID作为HTML的名字。 

更改方式有两种,一种是创建栏目,然后再对栏目进行修改 

一、打开网站栏目管理,找到需要更改的栏目,点击右边的更改,然后点击高级选项,对里面的文章命名规则列表命名规则进行更改。 

二、打开织梦系统文件,对默认值进行修改,这样再新建栏目的时候就不需要再进行修改了,一步到位。 

织梦Dedecms修改默认文章命名规则。//Dedecms5.5,Dedecms5.6测试有效

1、单独添加分类默认修改,修改文件:include/common.inc.php 

查找代码: 

1
2
3

//文档的默认命名规则
$art_shortname = $cfg_df_ext = ‘.html’;
$cfg_df_namerule = ‘<span style="color: #ff0000;">{typedir}/{Y}/{M}{D}/{aid}</span>’.$cfg_df_ext;

2、批量添加分类默认修改,修改文件:dede/templets/catalog_add_quick.htm 

查找代码: 

1

<input name="namerule" type="text" id="namerule" value="{typedir}/{Y}{M}{D}/{aid}.html" size="40" class="pubinputs" />

3、将{typedir}/{Y}{M}{D}/{aid}修改为你自定义的URL路径即可,如删除只留下{aid}。注意上面两处修改一定要保持一致。

  织梦Dedecms修改默认列表命名规则。//Dedecms5.5,Dedecms5.6测试有效

1、单独添加分类默认修改,修改文件:dede/templets/catalog_add.htm

查找代码:

1

<input id="namerule2" style="width: 250px;" name="namerule2" type="text" value="{typedir}/list_{tid}_{page}.html" />

2、批量添加分类默认修改,修改文件:dede/templets/catalog_add_quick.htm

查找代码:

1

<input id="namerule2" name="namerule2" size="40" type="text" value="{typedir}/list_{tid}_{page}.html" />

3、将{typedir}/list_{tid}_{page}.html修改为你自定义的URL路径即可,注意上面两处修改一定要保持一致。

修改织梦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’/}

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

修改织梦DedeCms5.5/5.6修改“DEDECMS 提示信息

织梦DedeCms的一些跳转提示信息会出现“DEDECMS 提示信息!”这几个字样。

很多朋友都想对他进行修改,改为自己网站的提示信息。

具体修改方法是编辑打开include/common.func.php文件,查找“DEDECMS”,你会发现有两次DEDECMS提示信息,在那两处提示信息的位置修改为你想要的提示信息即可。

织梦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页面了。