Archive for  DEDE

DEDE V5.6栏目目录名优化方案

发表于 2010-08-13 11:10 : 评论 ( 没有评论 )

DEDE V5.6中已经增加了默认扩展名的优化设置,允许用户启用扩展名是否添加到栏目地址中。

在后台系统-核心,可以选择栏目网址使用目录名(不显示默认页,即是 /a/abc/ 形式),如果启用,所有的扩展名将会被忽略。

这里可以做一定的优化,如果用户为不同的栏目指定了不同的扩展名,则需要关闭此功能,关闭此功能,就会在链接中默认加上index.html这样的文件名。

以下为忽略index.html的修改办法,打开include/channelunit.func.php,行约175行,修改如下:

   if($isdefault==0 && $ispart==0)   {    $reurl = str_replace("{page}","1",$namerule2);    $reurl = str_replace("{tid}",$typeid,$reurl);    $reurl = str_replace("{typedir}",$typedir,$reurl);   }   else   {    if(in_array($defaultname, array('index.html', 'index.htm'))) $defaultname = '';    if($cfg_typedir_df=='N' || $isdefault==0) $reurl = $typedir.'/'.$defaultname;    else $reurl = $typedir.'/';   } 

可以修改文件名的数组,即可忽略所有不需要的文件名。

实现DEDE网站数据快速迁移、数据库备份和还原

发表于 2010-08-9 11:56 : 评论 ( 没有评论 )

近日要帮客户实现网站改版,又要用到数据库的备份和还原。我发现一些用户对数据库备份和还原并不熟悉,所以结合本次案例做一次完整的笔记,希望对大家有用。

一般的用户会安装PHPmyadmin或者帝国还原工具,安装这些软件的过程本身就很复杂,然后加上数据库的备份和下载还原,很多用户会比较头痛。

DEDE本身自带了不错的备份和还原功能,以下我就使用DEDE的备份和还原来快速实现数据库的备份和还原,最终达到快速方便的网站迁移。

注:以下办法适用于DEDE V5.3/5.5/5.6,dede为默认管理后台目录

第一步:备份数据。

登陆原网站后台,系统-数据库备份/还原,使用数据库备份功能,将网站数据库备份到data目录下。

第二步:FTP下载整个网站。

这一步非常简单,如果是虚拟主机,并能整站打包,可以使用打包下载;如果是独立服务器器,可以直接打包后下载,当然,你也可以使用FTP挨个下载。

第三步:建立数据库,配置数据库连接。

DEDE的数据库配置在data/common.inc.php中,请根据购买的数据库填写具体信息,修改主机名和用户信息,保存。如果是独立服务器,请手工建立数据库。

DEDE实现表单(模型)分步提交【完成】

发表于 2010-07-24 10:45 : 评论 ( 8 条评论 )

一般的企业会遇到各类用户调查,我此前也用DEDE的自定义表单和模型,完成了一些诸如报名等系统的开发。

现在遇到一个用户需求,即,要求将一个表单(或者模型,以下统称表单)分成多步提交实现,以解决部分问卷内容过多,以减轻用户因内容繁杂产生的压力。

此功能,我想通过DEDE的自定义表单或者模型实现,再配合DEDE的管理权限分组,实现多用户分级控制用户问卷内容,如果可能,再增加图表输出的功能。

这里有一些技术难题,想跟各位大虾分请教下。

1,实现字段分步显示并实现分步提交数据的缓存,目前考虑通过$_SESSION或者文本储存;
2,实现用户重复提交控制;
3,实现分字段筛选的功能。

这里,分步显示字段的功能,有难度,欢迎各位大虾探讨。

续:
上述功能已经完成,整个项目开发周期3个工作日,目前已运用到新东方的学员问诊项目中。

功能如下:

  1. 通过DEDE自定义模型可以自由创建字段
  2. DEDE模型管理,可以定义字段显示顺序,可以定义字段分步显示
  3. 模型中添加的联动字段,可以定义显示方式,默认为Select,可以显示为checkbox和radio
  4. 增加表单变量控制,用户提交申请控制
  5. 后台管理列表增加按字段筛选的功能

效果预览如下:

总结:DEDE的模型二次开发非常方便,至少上手非常容易,适合小型企业开发;不足之外在于代码重复率高,如果能融入部分MVC开发思想就太好了。目前,这方面DEDE已经走在PHPCMS后面了,希望DEDE能速度跟上。

DEDECMS+Js实现自定义二级联动

发表于 2010-07-22 09:07 : 评论 ( 没有评论 )

DEDE有现成的二级联动管理,可以添加并生成二级联动的JS代码,使用起来非常方便。
如果要实现自己的效果,可能要对联动过程做一点开发。

下面的代码实例是在二级联动的过程中,添加了一个新的字段,以保存选项的值,并在前台根据JS的值做不同的事件。

 <?php require_once(dirname(__FILE__)."/../include/common.inc.php"); //查询根节点 $dsql->SetQuery("SELECT evalue,ename from `#@__sys_enum` where egroup='center' AND evalue%500 = 0 order by disorder asc, evalue asc"); $dsql->Execute(); $enums = array(); $sort = 1 ; while($row = $dsql->GetArray()) { $options .= "<option value=\"{$sort}\">{$row['ename']}</option>\r\n"; $enums[] = $row['evalue']; $sort ++ ; } $count = count($enums); foreach($enums as $i=>$evalue) [...]

让DEDE的文章和列表使用二级域名,实现千万级子站点

发表于 2010-05-9 21:55 : 评论 ( 1 条评论 )

突发奇想,额,算了,还是招了吧。这个功能其实早就有了,有人做过了,也有客户联系开发这个功能。

让DEDE的文章和列表使用二级域名,据说这样的SEO效果比较好。这里的比较好,并不是一定说文章收录得就多,就快,而是说权重可能会高一点,收录稳定一点。

但有朋友说,这样的效果做出来,收录会慢一些。

1,要求IIS支持rewrite或者Apache支持mod_rewrite
2,没有独立服务器则要求支持.htaccess
3,一个能做泛解析的域名

第一步,将咱的域名泛解析过来,就是*.4wei.cn解析到..8.8.8,这个过程太复杂

接下来做第二步,将.htaccss上传到网站根目录,实现二级域名的转发,并禁止人访问以前的html页面,因为相同的内容可能会造成被K的杯具。

DEDE,给文章中的标题加上链接

发表于 2010-05-7 23:29 : 评论 ( 没有评论 )

DEDE能给文章中的关键字加上链接,同理,也可以自动给文章中其它文章的标题加上链接,今天就来实现这个功能。

实现的思路和过程如下:

  1. 将所有文章的标题和链接地址缓存到临时表或者缓存文件
  2. 这里的文章链接地址可以是动态也可以静态,但生成静态链接则要消耗更多资源

我这里采用了静态地址+文件缓存的办法,在一键更新网站的过程中,按需要增加一步缓存过程,将所有文章的标题和链接缓存处理,然后调用替换过程。

本实例为客户定制开发代码,故不能完整提供程序代码,仅供有动手能力的朋友参考。

DEDE实现后台禁用登陆验证码

发表于 2010-04-16 09:00 : 评论 ( 2 条评论 )

DEDEweb发布实现火车采集的经典登陆方案:DEDE实现后台禁用登陆验证码

dedecms v5.5 两处跨站漏洞的修复办法

发表于 2010-03-18 17:48 : 评论 ( 2 条评论 )

dedecms v5.5 两处跨站漏洞的修复办法