Archive for DEDE
收集的DEDE的SEO办法
发表于 2009-02-1 16:31 : 评论 ( 4 条评论 )
在DEDE使用过程中,发现DEDE确实是个好东西,不知道是使用时间长了还是怎么的,感觉其它CMS怎么比都比不上DEDE。 昨天一个客户的一个单子做一个Ecms的预发布接口,搞了数个小时才搞明白Ecms的基本架构,我对其后台的错综复杂和数据表的庞杂,表示非常不解。 虽然有点偏题,但是我还是要问一下,为什么DEDEV5以上版本都会引入了一个主表,来处理相同字段的数据,Ecms却不这样做呢?给我感觉最严重的问题就是,二次开发极难。 当然,DEDE并不是完美无缺的,以下仅从SEO方面说一下自己的建议。 列表页和内容页目录式优化 页面Title优化 Keywords和Description优化 列表页实现多模板、自定义排序 由于写此文是刚刚在写一个模板时发现的,于是先把第一条整理下来。 列表页的目录式优化,最简单的,是要把默认在路径中携带的index.html去掉。 在解决这个问题时,我也到DEDE论坛搜索了一把,找到几个不错的解决办法。总的来说,以下这个方法是最好的解决办法。 栏目导航列表修改办法: {dede:channel type='top' row='7' currentstyle="<LI class='nokia'><A href='~typelink~'><SPAN>~typename~</SPAN></A> </LI>"}<LI><A href='[field:typelink function='preg_replace("/\/index\.html$/i","/",@me)'/]'><SPAN>[field:typename/]</SPAN></A> </LI>{/dede:channel} 这里使用正则替换,把默认路径中的Index.html替换掉,而不是只进行简单的替换,也不是把数据表中的文件名改成空白。 这里特别说明一下,mb5u给的解决办法也不是可以(http://bbs.dedecms.com/116595-1.html),但是你得注意,这样操作的最大问题就是,会造成你生成列表文件时无法将列表第一页复制成首页。也就是说,你非得在生成列表页时再执行一个SQL将默认文件名再改回来。 页面Title的优化。 页面Title的优化,主要是把栏目从子级栏目到高级栏目调用,类似 三级栏目_二级栏目_一级栏目_网站名称 的顺序,我个人觉得这样会有效提升子栏目的权重,实际效果未考证。 DEDEV5.3的修改办法是: 1。将官方原来的排列方式反过来,找到include/typelink.class.php第164行 $this->valuePositionName = $tinfos['typename'].$this->SplitSymbol.$this->valuePositionName; 修改为: $this->valuePositionName = $this->valuePositionName.$this->SplitSymbol.$tinfos['typename']; 接下来将模板的标题标签改这样 <title>{dede:field.title/} - {dede:global.cfg_webname/}</title> 文章内容特殊字段的处理。 比如Body字段中的关键字替换,段落重排等。 <p>{dede:field.body runphp='yes'} @me = preg_replace("@<div[^>]{0,}>@isU",'',@me); @me = preg_replace("@</div>@isU",'',@me); @me = preg_replace("@ {1,}@isU",' ',@me); [...]
DEDE使用火车采集器实现的自动实时发布文章和更新HTMl的功能
发表于 2009-01-15 05:41 : 评论 ( 19 条评论 )
一,为什么有这个想法: 使用火车发布文章,有三大不足。 需要登陆发布,受DEDE系统限制太大 就是一次发布的数量有限制,可能造成一次性发布太多遭K的恶果 如果网站首页是静态文件,则不能更新首页,用户就不知道网站的更新情况 如果没有一台可以一直运行的服务器,使用火车采集器的自动更新功能就不太现实 火车采集器的自动更新功能是收费的,呵呵。 自己需要咯,想挑战一下自己咯等。 二,Do it. 首先想到,让火车发布大量数据,且将文章属性设置为未审核状态,这个问题很简单,使用DEDEv5.3.1时却遇到DEDE的一个Bug。就是未审核的文章居然会在前台显示。先是对DEDE一气臭骂,后来找了一些原因,发现了DEDEv5.3.1中的一个Bug.经修复后可以实现未审核的文章不在前台显示。1月13号到DEDE报告Bug以后,1月14号DEDE出的补丁中修复了这个问题,呵呵,所以,1月15号,就是今天咯,开始正式整理此开发文档。 实际发现,发布和保存大量未审核文章不成问题,难在如何实现随机激发发布功能。想了很久,觉得使用时间限制最好。当前台JS调用了审核文章的链接,传递一个访问用户的信息,程序取得用户的IP并保存为SESSION信息,此时,审核一篇文章并生成文章与首页静态文件。一个用户在一定的时间内,只能激活限定数量的文章,且,发布时使用此用户的IP信息,呵,挺个性的。 激活文章,生成文章静态页和首页静态文章,受网站模板的影响,可能会比较慢,则会出现首页未生成完页面就被关闭的问题。所以,最好的办法是,在发布时文章时就生成文章静态文件,然后把文章设置为未审核状态。激活文章时则只需要很短的查询。首页或者列表页尽量使用动态页,这两个问题不好处理,只能以此法代之。 完整的过程就是,发布文档时,将文档设置为未审核状态;调用程序时,先判断上一次查询的缓存有没有超时,如果超过缓存时间,则清除缓存,以显示最新的文章。清除缓存以后,查询出一定数量属性为未审核的文档,将Archives和Arctiny表中的未审核属性取消,并更新一下文档的Pubdate字段,实现一点随机化。最后写入缓存,禁止缓存有效期内的重复更新! 三,文件使用方法: 发布文档时请把文档属性设置为未审核状态,即发布时提交的文档属性参数为:arcrank=-1,这时为动态浏览; 如果你想生成静态文档,请将文档状态设置为正常浏览状态,即arcrank=0;然后修改默认文档添加程序。 如:arcticle_add.php,在文件最下边“//生成HTML”处添加一段代码: //生成HTML InsertTags($tags,$arcID); $artUrl = MakeArt($arcID,true,true); if($artUrl=='') { $artUrl = $cfg_phpurl."/view.php?aid=$arcID"; } $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET `arcrank`='-1' WHERE (`id`='$arcID');"); $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET `arcrank`='-1' WHERE (`id`='$arcID');"); 然后,上传New.php到你的网站根目录,到Dede后台设置系统基本设置中,将性能选项卡中的arclist标签调用缓存时间设置为一个合适的数,如3600表示一个小时刷新一次缓存。 最后,在模板文件顶部调用一段代码即可: “ <script type="text/javascript" src="{dede:global.cfg_cmsurl/}/new.php"></script> ”。 支持的参数: no=每次随机更新的数量,为空时默认为5; typeid=栏目ID,为空则是全站数据 order=排序方式,支持Desc:倒序,Asc:顺序,Rand:随机,默认为随机查询。 如:“ <script type="text/javascript" [...]
火车采集器搭配DEDE V5.X 实现指定用户自动登陆发布文章的解决办法.
发表于 2009-01-15 05:38 : 评论 ( 1 条评论 )
一,现在的DEDE网站后台采用Cookie和Session验证,当你登陆以后长时间没有刷新,也会注销你的登陆,所以,要想长时间保持在线,只能采用不断刷新,或者注销后自动登陆的办法. 二,今天只说注销后自动登陆的解决办法.要修改的文件也只有简单的几句话. 三,打开你的管理员目录,默认为DEDE目录,修改Config.php这个文件,大约在201行,你需要添加以下绿色的内容 . //检验用户登录状态 $cuserLogin = new userLogin(); if($cuserLogin->getUserID()==-1){ //当没有用户信息时,先进行尝试登陆一次 if($locoy_auto_login_admin){ $cuserLogin = new userLogin($admindir); $res = $cuserLogin->checkUser($locoy_auto_login_admin,$locoy_auto_login_pwd); if($res==1) $cuserLogin->keepUser(); } //vus520注:如果登陆不成功,则要求登陆,增加了一次登陆判断 if($cuserLogin->getUserID()==-1) { header("location:login.php?gotopage=".urlencode($dedeNowurl)); exit(); } header("location:login.php?gotopage=".urlencode($dedeNowurl)); exit(); } locoy_auto_login_admin和locoy_auto_login_pwd可以由你自己设定,分别表示用户名和密码,你可以在Config.php直接定义,也可以在发布数据时携带在发布的POST数据里.前者比较方便,但是安全性后者更高一些.
DEDE_v5.3发布图集时不能获取缩略图的解决办法。
发表于 2008-12-27 03:21 : 评论 ( 1 条评论 )
受DEDE5.3Bug影响,使用火车采集器发布多页单图图集时,POST图片代码发布图片数据,不能获取缩略图。 我们在第一时间找到了解决办法,请使用DEDE的朋友注意了。 错误代码文件:dede/inc/inc_archives_functions.php if($pagestyle > 2) { $litpicname = GetImageMapDD($iurl,$ddmaxwidth); } else { $litpicname = [...]
DEDE_V5.3 全套模块下载,使用方法及常见问题
发表于 2008-12-21 21:33 : 评论 ( 46 条评论 )
感谢大家对火车采集器和DEDECMS的支持! DedeCms V5.3 正式版发布至今,已经陆续更新了N个版本,火车采集器官方也陆续制作出了DEDE各模型的Web发布模块. 经过我们一段时间的测试和修正,现在正式发布其中的文章,软件,图集,商城和信息模型.其它自定义模型请与我们联系订做. 本套模块经测试,完全正常,在使用前,请花三分钟时间阅读以下的使用说明(请大家务必详细阅读一下),很多发布不成功的情况,你都以在这里找到答案. 最后希望大家使用愉快. 论坛下载地址[最后更新20090103]: http://bbs.locoy.com/spider-33617-1-1.html 包含以下模块: 文章模型:DEDE_v5.3_Article.cwr (14.13 KB) 图集模型:DEDE_v5.3_Album.cwr (14.81 KB) 软件模型:DEDE_v5.3_Soft.cwr (16.62 KB) 商城模型:DEDE_v5.3_Shop.cwr (14.93 KB) 信息模型:DEDE_v5.3_Info.cwr (11.39 KB) 模块使用说明: 配置发布Web发布方式时,填写CMS根路径时需要加上你的管理员工具,默认是/DEDE/,则填写为 http://www.mmtxt.net/dede/ ,这样是为了方便修改了管理员目录的用户,不再一一修改模块中的发布地址. 由于DEDEV5.3后台验证码现在还不能自由取消,所以,使用发数据包登陆方式容易出现DEDE的经典不明错误:"验证码不正确".所以,建议你直接使用Web提交并保存COOKIE值. 刷新栏目列表时,刷新是的所有栏目列表,而不是针对某一个频道. 图集模块发布时,[标签:内容]中,直接发布含有图片地址的HTML代码,DEDE能自动提取图片地址并下载.采集和发布图片将会是十分方便. 也许大家注意到,近期我做的模块内容和以往有一些不同,这里因为现在这样的模块,可以将内容中含有的"&"连接符号正常发布,且参数名和值十分明了,甚至可以在Asp.net程序中正常发布数据.我个人比较喜欢这样的模块制作方法.希望大家用得习惯. 模块常见问题: 发布时出现错误,请查看返回文件,你能从这个文件里找到90%的错误原因. 如果返回代码文件为空白,请检查你的CMS路径有没有填写正确,网站后台能不能访问 出现"把数据保存到数据库主表****"这种经典错误时,请检查你的字段内容是否合法,如,访问量,金钱等数字型字段是否为正确的数字,V5.3增加了File_name字段,确保文件名正确. 如果出现发布结果未知,且能在返回文件中找到错误原因,则请修改一下模块错误返回码. 图片发布内容正常却没有图片的话,请检查图片有否有防盗链,来源网址是否正确. 自定义字段的模块,稍稍有点复杂,建议你联系我购买.感谢你的支持. 发布时出现"你所选择的栏目与当前模型不相符"时,应该是你用的发布模块发布错了对应的模型.文章模块只能发布文章模型,以此类推. 图集发布时,只有标题,内容,却没有图片内容的情况,是由于图片地址提取不到或者下载不成功造成的.建议你检查一下主机有没有打开远程链接的权限,再者,看看采集站有没有防采集限制;最后,你可以修改图集模块的一个参数:copysource=[采集页网址],这样可以解决比较简单的防采集验证. 以下是回复27号以前用户的问题: 刷新列表时出现格式不符,一般是你的网站地址没有填写正确,请填写你的网站地址再加上你的管理员目录。同时,不建议大家修改模块中除发布内容以外的其它内容。 Ask模型不能单纯的通过发布模块来处理发布,我已经完成了“DEDE问答模型发布接口、规则、模块下载,带视频演示”的升级(详情请点击链接查看),目前已完美支持DEDE5.3版,需要购买的朋友可以联系我。
DEDE v5.3 Web发布模块参数列表及说明
发表于 2008-12-21 20:48 : 评论 ( 2 条评论 )
有一些用户不知道如何修改模块中的标签,总结来看,多数是不知道每个参数的含义.这里用文章发布模块做一个解释,说明一下每个参数对应的变量名. title => 文章标题 shorttitle => 简略标题 flags[] => 自定义属性:头条h,推荐c,图片p,幻灯f,滚动s,跳转j,图文a,加粗b tags => TAG标签,建议使用自动分词 picname => 缩 略 图 ddisremote => 是否下载缩略图 source => 文章来源 writer => 作 者 typeid => 文章主栏目 remote => 下载远程图片和资源,1为启用 dellink => 删除非站内链接 autolitpic => 提取第一个图片为缩略图 sptype => 分页方式:手动 => hand,自动 => auto spsize => 自动分页大小 body => 文章内容 notpost => 允许评论 [...]
DEDE问答程序采集发布接口、规则、模块下载,带视频演示
发表于 2008-09-22 01:18 : 评论 ( 24 条评论 )
火车采集器 To DEDE-V5.1,5.3,5.5,5.6 问答模型 专用接口 By vus520 QQ:130775 接口版本: 本接口是尘缘早期开发的一个接口产品,从最初的DEDE 2007,一直升级直到现在的V5.6。 接口功能: 同时添加多个栏目分类 同时添加多条回复 同时 添加多用户 支持随机用户发表,支持回复时间随机增加 支持问题补充,感谢评语和随机好评 根据上级分 类自动获取一级二级栏目信息,简化操作 可以快速重装数据表 增加了生成问答模型Sitemap的功能。 注意事项: 为保证程序安全,请务必修改接口文件名 此接口所授权商业用户不 得用于其它商业用途,不得修改版权,不得发布于除火车论坛以外的其它论坛 优惠信息: 本接口售价RMB 150 元,全套文件含有:PHP接口,Web发布模块,百度知道采集规则,新浪 爱问采集规则,操作视频。 视频教程&演示: 下 载 截图于后: 下载 (194.86 KB) 2009-8-22 12:30
DedeCMS的存储过程简介
发表于 2008-08-25 12:13 : 评论 ( 没有评论 )
DedeCMS存储过程 什么是“存储过程”? 存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。用 mysql-front或 Navicat MySQL 调试. 只有MySQL5.x以上版本才支持存储过程,所以低版本的用户使用存储过程需要升级数据库 DedeCMS存储过程 - 添加文章的存储过程 DROP PROCEDURE IF EXISTS AddArchives; CREATE PROCEDURE AddArchives($typeid int, $adminID int, $writer varchar(30), $soruce varchar(50), $title varchar(80), $body mediumtext) BEGIN IF $adminID IS NULL THEN SELECT MIN(id) INTO $adminID FROM dede_admin; END IF; IF $writer IS NULL THEN SET $writer = ''; END IF; [...]
