分类目录归档:DedeCms 使用技巧

织梦使用技巧,Dedecms使用技巧,织梦技巧

织梦CMS程序使用拼音首字母做栏目名称的方法

  Dedecms织梦程序默认使用拼音为保存目录的时候使用的是中文全拼,当遇到栏目名称比较长的时候目录名称看起来有点冗长,这时候大多数站长喜欢使用拼音首字母作为栏目的保存目录,那么就需要修改dede/catalog.add.php文件

继续阅读

织梦DedeCms模板防被盗及安全设置方法

  目前织梦DedeCms是最受广大站长欢迎的一套内容管理系统,用的人多,研究的人也多,那么网站模板如何防盗及安全性就需要重视的。

  我们花钱做漂亮的织梦模板,被别人盗走,你也无可奈何,只能认倒霉了,网上这种事司空见惯了,所以我们要防范于未然,在网站上线之前就需要做好模板的防盗。

  注:本篇模板防盗安全设置,针对的是dedecms程序本身,不涉及其他安全设置。

  下面跟大家说下常见的方式,这些方法对技术有限的人来说,可以起到模板防盗作用,对真正的高手来说,大多数网站都是仿不了的,这个大家都需要知道。
方法一:修改系统默认模板文件夹名字,最简单,也很实用

  步骤:后台->系统->系统基本参数->站点设置->模板默认风格->default

  把default改成你自己取的名字,然后进FTP,打开templets文件夹,把default名字改成一致,这样别人就不知道你网站模板文件夹名字了。
方法二:把系统默认的.htm模板文件名改一改。

  大家都知道默认的模板文件的名字,如index.htm(首页),list_article.htm(文章列表页),article_article.htm(文章内容页)等等,直接就给扒下来。

  所以,我们把这些默认的名字改一改,然后去栏目管理处,重新指定一下模板文件就可以增加一下模板的安全了。

  1、认识一下默认模板文件的名字及作用

  首页模板:/templets/default/index.html
  文章频道首页:/templets/default/index_article.htm
  文章列表页:/templets/default/list_article.htm
  文章内容页:/templets/default/article_article.htm
  图集频道首页:/templets/default/index_image.htm
  图集列表页:/templets/default/list_image.htm
…..
  具体模板名介绍:织梦模板dedecms文件名介绍与说明 http://www.mubanzhijia.com/jishujiaocheng/147.html

  2、不同栏目各自指定不同的模板

  步骤:核心->常用操作->网站栏目管理->点击右侧对应栏目的“更改”链接->高级选项->手动指定模板

  详细操作方法:如何自定义织梦栏目使用不同模板文件 http://www.mubanzhijia.com/jishujiaocheng/178.html

  3、完成以上2步,生成更新一下栏目就行了。

  方法三:这个方法是上2个的结合,说起来也简单,

  1、后台不修改默认模板风格default的名字,在templets文件夹里面新建一个文件夹,自己取名。
  2、把用到的模板文件上传到这个文件夹里面;

  这里需要有一个注意,因为后台没有修改默认的模板风格位置,所有,首页、列表、内容等模板文件引用的通用页头(head.html)、页尾(footer.htm),就需要修改一下,不然就不显示了页头页尾,方法如下:

  {dede:include filename=”123456/head.htm”/}

  如果你自己建立的模板文件夹名字是123456,调用代码里就写123456。

  搜索页面、tag页面,都放在默认的default里面,如果放在自己建的文件夹里面,系统不认。

  3、按照方法二的步骤,手动指定各个栏目的模板。

  好多新手在用dedecms建站的时候,没有重视这个,等模板被盗了,才发现,很让人生气,所以,我们要提前做好这些防盗的准备,提高模板的安全性。

  写的比较啰嗦,主要是为了让大家能够容易理解。

  转载自:http://www.mubanzhijia.com/jishujiaocheng/179.html

怎么备份DEDECMS网站数据 织梦网站备份教程

  做站长要养成网站定期备份的好习惯,在网站出现什么问题的时候可以还原数据,就不会造成太大的损失了。

  下面来介绍怎么备份织梦网站数据的教程。

  一、备份数据库数据

  进入DedeCms后台 -> 系统 -> 数据库备份/还原 备份文件在\data\backupdata

  二、将网站上的所有数据下载到电脑。

  做好上面这两步就已经把网站上的所有数据备份下来了。

  但如果每次都这么备份,那是比较麻烦的,下载的数据又比较多,所以这类备份做一次就好。

  下面讲解该如何做日常备份

  一、备份数据库数据,方法同上

    进入DedeCms后台 -> 系统 -> 数据库备份/还原
  二、下载相关文件

    下载数据库备份资料\data\backupdata,将backupdata文件夹下载到本地
    下载附件文件夹,将根目录下的uploads文件下载到本地。

  提示:一般推荐后台备份数据库之后,在空间管理的后台,压缩整个网站目录比如WWWROOT(如果服务器有压缩功能),然后FTP下载这个压缩文件到电脑保存。这个压缩包里面既包含了刚刚的数据库文件又包含了最新的网站文件。

  如果织梦网站出现问题,如何还原网站呢?

  如果是普通还原,参照此方式:

  一、将最新的数据库备份文件夹backupdata和附件文件夹uploads上传到空间替换原有数据。

  二、进入织梦DedeCms后台 系统 -> 数据备份/还原 -> 数据还原

  三、更新缓存,生成所有页面。

  如果是整站还原:

  一、将下载的整站压缩文件上传到服务器指定目录,解压文件覆盖。

  二、参考织梦网站搬家步骤《织梦DedeCms5.6 网站搬家详细教程【图解】

  经常做好备份就不怕灾难来了,比如挂马或者文件改错了或者删除了,这样还可以还原网站数据,不至于心血白费,文件全失。

织梦dedecms程序给栏目增加缩略图的方法

  有时候因为网站功能需求,我们需要为织梦程序的栏目页添加缩略图功能,这里有一个栏目添加缩略图的方法,供大家参考。

  涉及到文件如下(注意备份):
  dede/catalog_add.php 
  dede/catalog_edit.php
  dede/templets/catalog_add.htm
  dede/templets/catalog_edit.htm

  打开文件夹templets这个目录,在里面新建一个文件夹typeimg,用于独立存放栏目缩略图

  新加字段 typeimg

  后台执行SQL(前缀默认为dede_ 具体前缀根据自己网站修改):

1
alter table `dede_arctype` add `typeimg` char(100) NOT NULL default '';

  打开dede/catalog_add.php

  查找:

1
$queryTemplate = "insert into `dede_arctype`

  将:

1
(reid,topid,sortrank,typename,typedir,

  替换为:

1
(reid,topid,sortrank,typename,typedir,typeimg,

  将:

1
('~reid~','~topid~','~rank~','~typename~','~typedir~',

  替换为:

1
('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~',

  打开dede/catalog_edit.php

  查找:

1
$upquery = "Update `dede_arctype` set

  在其下面新加一行

1
`typeimg`='$typeimg',

  打开dede/templets/catalog_add.htm 查找

1
2
3
4
5
6
7
<tr>

  <td height="26">列表命名规则:</td>
  <td>
    <input name="namerule2" type="text" id="namerule2" value="{typedir}/list_{tid}_{page}.html"  class="pubinputs"  style="width:250px" />
    <img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/></td>
</tr>

  在其下面增加以下内容

1
2
3
4
5
6
7
8
 <tr>
            <td height="65">栏目图片:</td>
            <td>
                <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="" />
<input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectTemplets('form1.typeimg&activepath=%2Ftemplets%2Ftypeimg&img=yes');" />
                (栏目模板里用{dede:field.typeimg /}调用)
            </td>
          </tr>

打开dede/templets/catalog_edit.htm 查找

1
2
3
4
5
<tr>
       <td height="26">列表命名规则:</td>
       <td> <input name="namerule2" type="text" id="namerule2" value="<?php echo $myrow['namerule2']?>" size="40" class="iptxt" />
         <img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/></td>
     </tr>

  在其下面新增以下内容:

1
2
3
4
5
6
7
8
<tr>
  <td height="65">栏目图片:</td>
  <td>
      <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
      <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImages('form1.typeimg&activepath=%2Ftemplets%2Ftypeimg&img=yes');" />
      (栏目模板里用{dede:field.typeimg /}调用)
  </td>
</tr>

  完成!

  添加或修改图片时在 栏目管理》高级选项上传即可。

  如果想同时在文章内容页调用打开\include\arc.archives.class.php 查找

1
if($this->ChannelUnit->ChannelInfos['issystem']!=-1)

  将

1
2
3
4
5
6
$query = "Select arc.*,tp.reid,tp.typedir,ch.addtable
                from `dede_archives` arc
                         left join dede_arctype tp on tp.id=arc.typeid
                          left join dede_channeltype as ch on arc.channel = ch.id
                          where arc.id='$aid' "
;
                $this->Fields = $this->dsql->GetOne($query);

  替换为

1
2
3
4
5
6
$query = "Select arc.*,tp.reid,tp.typedir,tp.typeimg,ch.addtable
                from `dede_archives` arc
                         left join dede_arctype tp on tp.id=arc.typeid
                          left join dede_channeltype as ch on arc.channel = ch.id
                          where arc.id='$aid' "
;
                $this->Fields = $this->dsql->GetOne($query);

  OK,给织梦给栏目增加缩略图的方法就介绍到这了,有需要的朋友可以自行参考修改调整。

让dedecms搜索页面支持标签调用及自定义字段调用的方法

  默认情况下,织梦cms模板的搜索结果页面模板是不能调用dedecms标签的,那么如何让织梦cms的搜索页面支持标签调用呢!!!

  修改步骤如下:

  dedecms模板搜索页search.php支持arclist和channelartlist标签调用方法

  打开include/arc.searchview.class.php

  查找

1
2
require_once(DEDEINC./taglib/hotwords.lib.php”);
require_once(DEDEINC./taglib/channel.lib.php”);

  下面插入

1
2
require_once(DEDEINC./taglib/arclist.lib.php”);
require_once(DEDEINC./taglib/channelartlist.lib.php”);

  查找

1
2
3
4
else if($tagname==”hotwords”)
{
$this->dtp->Assign($tagid,lib_hotwords($ctag,$this));
}

  下面插入

1
2
3
4
5
6
7
8
else if($tagname==”arclist”)
{
$this->dtp->Assign($tagid,lib_arclist($ctag,$this));
}
else if($tagname==”channelartlist”)
{
$this->dtp->Assign($tagid,lib_channelartlist($ctag,$this));
}

  到这一步就OK了,如何还需要实现定义字段调用的话那么就继续:修改include/arc.searchview.class.php

  找到

1
$query = "Select

  整行修改为:

1
2
3
4
$query = "Select addon.*,arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,
  act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath
  from `{$this->AddTable}` arc left join `dede_arctype` act on arc.typeid=act.id left join `dede_addonarticle` addon on addon.aid=arc.id
  where {$this->AddSql} $ordersql limit $limitstart,$row"
;

  这样织梦dedecms模板搜索页search.php就支持arclistchannelartlist标签的调用了。

织梦DEDECMS栏目列表页翻页URL链接优化

  织梦程序的栏目列表分页链接网址,如果你仔细观察会发现,在栏目的首页会存在两个内容相同的2个不同url:

  一个是在其他页面链接的栏目首页url是www.dedeui.com/lanmu1/index.html

  另一个是栏目的分页给的链接URL是:www.dedeui.com/lanmu1/list_1_1.html

  从SEO方面来说,一个网页有2个网址是不太好的。所以,我们最好把两个URL统一成index.html

  1,找到\include\arc.listview.class.php这个文件,将

1
$typedir= ereg_replace('{cmspath}',$GLOBALS['cfg_cmspath'],$this->Fields['typedir']);

;

  这段代码添加到”//获得上一页和主页的链接”前面;

  2,找到下面几行代码(就在”//获得上一页和主页的链接”下面)

1
2
3
4
5
if($this->PageNo != 1)
{
$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n";
$indexpage=<li><a href='".str_replace("{page}",1,$tnamerule)."'>首页</a></li>\r\n";
}

  改成:

1
2
3
4
5
6
7
8
9
10
11
12
if($this->PageNo != 1)
{
if($prepagenum==1)
{
$prepage.="<li><a href=\"".$typedir."/\">上一页</a></li>\r\n";
}
else
{
$prepage.="<li><a href=\"".str_replace("{page}",$prepagenum,$tnamerule)."\">上一页</a></li>\r\n";
}
$indexpage="<li><a href=\"".$typedir."/\">首页</a></li>\r\n";
}

  3.找到

1
$listdd.="<a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a>\r\n";

  改成:

1
2
3
4
5
6
7
8
if($j==1)
{
$listdd.="<li><a href=\"".$typedir."/\">".$j."</a></li>\r\n";
}
else
{
$listdd.="<li><a href=\"".str_replace("{page}",$j,$tnamerule)."\">".$j."</a></li>\r\n";
}

  只需要三步就可以实现织梦栏目页翻页URL链接地址统一优化了。

优化DEDECMS模板 让织梦CMS程序生成html页面更快些

  大部分用织梦建立的网站后台更新一次全站文章HTML要等10几分钟,数据量大的网站甚至要半天甚至更久!那么如何让织梦后台加快生成html页面的速度,是站长们都希望追求的。下面,小菜谈谈如何让织梦生成html页面更快些吧:

  1、把文章模板里的“相关文章”、“热点文章”、“推荐文章”这类的标记删除了,用其它方式,如:shtml、js 引入

  2、把织梦模板里用标记表示的模板路径、php附件路径等全部用绝对网址代替(减少标记个数,我见过某人的模板有超过六十个这类的标记)

  这样用 P4 的服务器就基本能达到一小时生成七成至十万篇文章的数量了(数据量十万以上)

  织梦前台HTML网页的生成速度和织梦模板有最大的关系,所以,我们只要减少不必要的模板标签调用即可从根本上解决织梦生成网页慢的问题!

  转载自:http://www.qimiweb.com/article/dedecms/201308/129.html

织梦DEDECMS模板如何添加“自定义属性”

  织梦dedecms模板前台调用文章时经常会觉得属性不够用,我们可以自定义很多属性标签,这样前台调用时就可以做到非常精准,而添加也是非常简单的,下面是我网上找到的解决办法,由于要进行数据库操作,所以不懂的人慎用,否则后果很严重,误删数据表就say goodbye了:

  dedecms织梦如何添加“自定义属性”标签“症状”

  1、进入后台——系统——SQL命令行工具——运行SQL命令行,添加

1
2
“insert into `dede_arcatt`(sortid,att,attname) values(9,'d','症状');
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、后台——模板——默认模板管理——index.htm

  在“index.htm”织梦模板中进行修改,在需要调用症状的地方添加代码“{dede:arclist flag=’d’ limit=’0,1′ infolen=’230′}”

  3、添加文档,在自定义属性中将“新自定义属性”勾选,就可实现,勾选的文档出现在织梦模板任何需要调用的地方了。