三步搞定DEDEcms游客投稿

评论(0)
教你三步搞定DEDEcms游客投稿 这个方法相当简单,只用屏蔽掉几行代码就可以了。。。先找到这三个文件/member/article_add.php/member/article_add_action.php/member/archives_addcheck.php1、把前两个文件里面的//CheckRank(0,0);注释掉2.、把/member/arti    .Exp201 { display:none; } 教你三步搞定DEDEcms游客投稿

这个方法相当简单,只用屏蔽掉几行代码就可以了。。。

先找到这三个文件


/member/article_add.php
/member/article_add_action.php
/member/archives_addcheck.php



1、把前两个文件里面的

//CheckRank(0,0);注释掉

2.、把/member/article_add_action.php里的



//if($cInfos['sendrank'] > $cfg_ml->M_Type){
//$row = $dsql->GetOne("Select membername From dede_arcrank where rank='".$cInfos['sendran/k']."' ");
//$dsql->Close();
//ShowMsg("对不起,需要[".$row['membername']."]才能在这个频道发布文档!","-1","0",5000);
//exit();
//}
注释掉

以上的是以前大家都知道的。

3、最后/member/archives_addcheck.php文件中 还有个等级验证

//if($cInfos['sendrank'] > $cfg_ml->M_Type){
//$row = $dsql->GetOne("Select membername From dede_arcrank where rank='".$cInfos['sendrank']."' ");
//$dsql->Close();
//ShowMsg("对不起,需要 [".$row['membername']."] 才能在这个频道发布文档!","-1","0",5000);
//exit();
//}
注释掉

ok,游客可以投稿了。

DedeCMS模板制作使用实例教程(三)【Channel 标记使用实例】

评论(0)
【Channel 标记】主要用于获取栏目列表,用法非常简单,主要是区分“type = top,sun/son,self ”的所调用的对象就行了。 说明:为了便于下面内容的理解,我将数据库中网站频道的截图如下: 使用思路、步骤: 一、明    .Zag805 { display:none; } 【Channel 标记】主要用于获取栏目列表,用法非常简单,主要是区分“type = top,sun/son,self ”的所调用的对象就行了。
说明:为了便于下面内容的理解,我将数据库中网站频道的截图如下:



使用思路、步骤:
一、明确使用范围
我们在使用任何标记的过程中,都必须明确其使用的范围,否则可能无法正常调用该标签,【Channel 标记】的使用范围是:
封面模板、列表模板、文档模板。


二、通过调试了解其使用方法
我调试的方法是:
将templets\default\文件夹下的index.html文件代码,全部掏空。放入调用【Channel 标记】的代码,再在IE中访问网站主页index.php,就可以得到返回的数据。



调用方法一:
我调试【Channel 标记】的具体代码如下:
{dede:channel row='3' type='top'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}

得到如下返回数据:



调用方法二:
我调试【imglist标记】的具体代码如下:
{dede:channel row='3' type='sun' typeid='96'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}

得到如下返回数据:

[DEDE采集]DeDeCMS采集的问题与技巧集锦!

评论(0)
maxjay:采集里怎么样过滤多个信息?? 以下为引用的内容:mizuno:{dede:trim}1{/dede:trim} {dede:trim}2{/dede:trim} {dede:trim}3{/dede:trim} tom111:网易财经频道-财经要闻 的采集点分享    .Uaz465 { display:none; } maxjay:
采集里怎么样过滤多个信息??
以下为引用的内容:
mizuno:
{dede:trim}1{/dede:trim}
{dede:trim}2{/dede:trim}
{dede:trim}3{/dede:trim}



tom111:
网易财经频道-财经要闻 的采集点分享
以下为引用的内容:
{dede:comments}
{!-- 采集列表获取规则 --}
{/dede:comments}

{dede:list source='single' sourcetype='list'
varstart='2' varend='9'}
{dede:url value='[url]http://finance.163.com/special/00251OFM/cjyw_0[/url][var:分页].html'}

{/dede:url}
{dede:need}/06/{/dede:need}
{dede:cannot}{/dede:cannot}
{/dede:list}

{dede:comments}
{!-- 网页内容获取规则 --}
{/dede:comments}

{dede:art sptype='full'}
{dede:sppage}{/dede:sppage}

{dede:note field='title' value='[var:内容]'
isunit='' isdown=''}

{dede:match}<title>[var:内容]</title>{/dede:match}
{dede:trim}_网易财经-中国的投资门户{/dede:trim}

{/dede:note}

{dede:note field='body' value='[var:内容]'
isunit='1' isdown='1'}

{dede:match}<!-- main -->[var:内容]<a href="javascript:reply_allReply()" target="_self"><img src="" alt="网友评论" width="34" height="18" border="0" />{/dede:match}


{dede:trim}_网易财经-中国的投资门户{/dede:trim}
{dede:trim}<iframe src="[url]http://adclient.163.com/html.ng/site=netease&affiliate=stock&cat=article&type=tvscreen&location=1[/url]" width="360" height="300" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>{/dede:trim}
{dede:trim}<a href="[url]http://finance.163.com[/url]">{/dede:trim}

{/dede:note}
{/dede:art}



------------------
5713090:
采集的时候,把文章内容里的链接去掉,过滤要怎么写
以下为引用的内容:


柏拉图:
{dede:trim}<a ([^>]*)>([^<]*)</a>{/dede:trim}


世界和平:
([^>]*)
什么意思,是不是代表任意字符!好想不是,
能不能解释一下具体的意思,

以下为引用的内容:
柏拉图:
除 '>' 以外的任意字符



cooldgjk:
哪里有NC采集入DEDE V3的教程哦?

以下为引用的内容:
tomosak:
http://bbs.dedecms.com/read.php?tid=1426&keyword=%B2%C9%BC%AF



必须:
不知老大在DedeCms 3.0.1版中解决采集内分页问题了吗!

以下为引用的内容:
柏拉图:
关于采集器和会员整合的问题都会在dedecms V3.1中处理,到时候会有很大的改进

DEDEcms系统的调用标签介绍

评论(0)
DEDE的调用标签-----------------------下载类------------------文件类型:{dede:field name='filetype'/}软件大小: {dede:field name='softsize'/}下载次数: <script src="{dede:field name='phpurl'/}/countdownlo    .Mtt127 { display:none; } DEDE的调用标签

-----------------------下载类------------------
文件类型:{dede:field name='filetype'/}
软件大小: {dede:field name='softsize'/}
下载次数: <script src="{dede:field name='phpurl'/}/countdownloads.php?aid={dede:field name='aid'/}&cid={dede:field name='channel'/}" language="javascript"></script>
软件类别:{dede:field name='softtype'/}
软件语言:{dede:field name='language'/}
授权方式:{dede:field name='accredit'/}
运行环境: {dede:field name='os'/}
更新时间:{dede:field name='pubdate' function="GetDateMk('@me')"/}
官方网址:<a href="{dede:field name='officialurl'/}">{dede:field name='officialurl'/}</a>
缩略图:<img src="{dede:field name='litpic'/}" width="282" height="206" />
软件简介:{dede:field name='introduce'/}
下载地址:{dede:field name='softlinks'/}
软件Tag:{dede:tag type='current'/}

---------------------文章调用类-------------------------文章标题:{dede:field name='title'/}
网站标题:{dede:global name='cfg_webname'/}
热门关键字:{dede:hotwords num='5' subday='30'/}
当前位置 :{dede:field name='typelink'/}|
来源:{dede:field name='source'/}
作者:{dede:field name='writer' /}
时间:{dede:field name='pubdate' function='GetDateMk(@me)'/}
Tag:{dede:tag type='current'/}
点击:<script src="{dede:field name='phpurl'/}/count.php?aid={dede:field name='ID'/}&mid={dede:field name='memberid'/}&view=yes" language="javascript"></script>
文章内容:{dede:field name='body'/}
文章分页:{dede:pagebreak/}
上一篇文章: {dede:prenext get='pre'/}
下一篇文章: {dede:prenext get='next'/}

收藏:<a href="{dede:field name='phpurl'/}/stow.php?arcID={dede:field name=ID/}">收藏</a>
推荐:<a href="{dede:field name='phpurl'/}/recommend.php?arcID={dede:field name=ID/}">推荐</a>
评论:<a href="{dede:field name='phpurl'/}/feedback.php?arcID={dede:field name=ID/}">评论</a>
打印:<a href="#" >打印</a>
关闭:<a href="#" >关闭</a>


---------------------文章调用类-------------------------
图片调用常用代码:[field:imglink/]=<a href='[field:arcurl/]'><img src='[field:picname/]' border='0' width='imgwidth' height='imgheight'></a>

文章调用常用代码:[field:textlink]=<a href='[field:arcurl/]' title="[field:title/]" target="_blank">[field:title/]</a>

[采集使用]dedecms采集过滤

评论(0)
dede采集过程中最麻烦的莫过于采集的正则过滤函数的编写。说实在的,dede在这点上和很多ASP CMS系统比如说动易等,采集的时候直接选择几个选项就可以了,简单的完成想过滤的东西。不过他们只局限于对文章内容的过滤不是很好。而DEDE却能对所有采集的字段进行过滤,功能上弥补    .Jgj152 { display:none; }

dede采集过程中最麻烦的莫过于采集的正则过滤函数的编写。说实在的,dede在这点上和很多ASP CMS系统比如说动易等,采集的时候直接选择几个选项就可以了,简单的完成想过滤的东西。不过他们只局限于对文章内容的过滤不是很好。而DEDE却能对所有采集的字段进行过滤,功能上弥补了易用性的缺陷,期待柏拉图在后续版本中加上选择性过滤功能。
下面是在综合论坛上网友的各种正则的一个全集:

以下为引用的内容:
{dede:trim}
{/dede:trim}
{dede:trim}<param([^>]*)>{/dede:trim}
{dede:trim}<embed([^>]*)>([^>]*)</embed>{/dede:trim}
{dede:trim}<embed([^>]*)>{/dede:trim}
{dede:trim}</embed>{/dede:trim}
{dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
{dede:trim}<object([^>]*)>{/dede:trim}
{dede:trim}</object>{/dede:trim}
{dede:trim}<OBJECT([^>]*)>([^>]*)</OBJECT>{/dede:trim}
{dede:trim}<OBJECT([^>]*)>{/dede:trim}
{dede:trim}</OBJECT>{/dede:trim}
{dede:trim}<iframe([^>]*)>([^>]*)</iframe>{/dede:trim}
{dede:trim}<iframe([^>]*)>{/dede:trim}
{dede:trim}</iframe>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>{/dede:trim}
{dede:trim}</IFRAME>{/dede:trim}
{dede:trim}<font([^>]*)>([^<]*)</font>{/dede:trim}
{dede:trim}<font([^>]*)>{/dede:trim}
{dede:trim}</font>{/dede:trim}
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
{dede:trim}<td([^>]*)>([^>]*)</td>{/dede:trim}
{dede:trim}<td([^>]*)>{/dede:trim}
{dede:trim}</td>{/dede:trim}
{dede:trim}<tr([^>]*)>([^>]*)</tr>{/dede:trim}
{dede:trim}<tr([^>]*)>{/dede:trim}
{dede:trim}</tr>{/dede:trim}
{dede:trim}<tbody([^>]*)>([^>]*)</tbody>{/dede:trim}
{dede:trim}<tbody>{/dede:trim}
{dede:trim}</tbody>{/dede:trim}
{dede:trim}<table([^>]*)>([^>]*)</table>{/dede:trim}
{dede:trim}<table([^>]*)>{/dede:trim}
{dede:trim}</table>{/dede:trim}
{dede:trim}<img([^>]*)>{/dede:trim}
{dede:trim}<span([^>]*)>{/dede:trim}
{dede:trim}</span>{/dede:trim}
{dede:trim} {/dede:trim}
{dede:trim}<stong>{/dede:trim}
{dede:trim}</stong>{/dede:trim}




应用示例一:标题中空格的过滤
经常在采集文章的时候,标题文字里面有空格,采回来后应用很是麻烦,所以需要在过滤处添加下面正则过滤

以下为引用的内容:
{dede:trim} {/dede:trim}



应用示例二:来源作者中连接的过滤
在采集文章的时候,有的系统里面作者或者来源处都有连接,直接采集的话将连接采集回来了,然后由于这两个字段有限制,通常会造成需要采集的内容没有采集回来,所以需要在过滤处添加下面正则过滤

以下为引用的内容:
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}



应用示例三:文章内容中连接以及其他广告代码的过滤
这个就不用说了,当需要对所有东西过滤的时候,直接用上面所有的代码过滤就可以,但是实际应用中,我们只需要对连接、动画、调用等进行过滤。(这个需要按照对方内容里面具体含有什么代码来具体操作)
一般的只有链接,使用二中的代码进行过滤就可以了,但是实际上一般的网站现在都在内容里面加有广告等,所以采取下面的过滤正则就可以完成过滤:

以下为引用的内容:
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
{dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
{dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim}


应用示例四:过滤GG广告代码
其实这个就是在上面的内容过滤,但是很多论坛里的网友经常问这个,所以单独作为一个应用列出来:

以下为引用的内容:
{dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim}


好了,上面四种应用基本上涵盖了采集的各种应用,掌握了这个,过滤基本上就不用求人了!

{dede:arclist}如何调用文章和软件以及任何字段

评论(0)
{dede:arclist}的学习心得,和一些问题,和大家一起交流基本语法:{dede:arclist typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}底层模板(InnerText){/dede:arclist} 在我这几天做模板的过程中,发    .Dfy353 { display:none; } {dede:arclist}的学习心得,和一些问题,和大家一起交流


基本语法:
{dede:arclist typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
底层模板(InnerText)
{/dede:arclist}

在我这几天做模板的过程中,发现主要问题出在“底层模板(InnerText)”

我们在做模板的时候,特别是列表页,或者自己定义的一个封面页面的时候。

在底层模板,只能调用,
底层模板字段:
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),writer,shorttitle,memberid
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image

这些字段,但是在这里是没有比较重要的几个字段,比如关键字,作者,特别是软件等级。让人非常郁闷啊。
我觉得如果可以改源代码,应该就可以把这个问题解决的,但是不清楚具体是那个文件,那个函数,有知道的朋友,可以提醒一下不?



上面是我在学习过程中遇到的一些问题,晚上21:55分,通过各位朋友的提醒,我找到了一些规律。
就以软件频道的等级(softrank)这个字段为例,我们在使用{dede:arclist}这个标签的时候,是不能调用这个字段的,那我们要如何修改才能让他能够调用例如softrank,keyword,writer等等一些我们想调用的字段呢。我在这里举例一个softrank。下面是具体的操作方法。

1、首先要找到{dede:arclist}这个标签对应的文件源代码,通过later提醒,找到了,就是文件inc_fun_SpGetArcList.php,你打开后,比如搜索softrank你会发现搜到不到,因此我们就调用不到softrank了,那我们自己怎么加呢。

我们仔细看一下会发现,所有的能调用的字段,都是通过这段sql语句实现的。
Quote:$query = "Select arc.ID,arc.title,arc.iscommend,arc.color,arc.typeid,
arc.ismake,arc.description,arc.pubdate,arc.senddate,arc.arcrank,arc.click,
arc.money,arc.litpic,arc.writer,arc.shorttitle,arc.memberid,arc.vote,arc.postnum,arc.lastpost,arc.keywords,


tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,
tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,st.softrank
$addField
from cmsxx_archives arc
left join cmsxx_arctype tp on arc.typeid=tp.ID
left join cmsxx_addonsoft st on arc.ID=st.aid
$addJoin
where $orwhere $ordersql $limitsql";


大家仔细看一下,我这段代码和你们有什么区别,多了一个arc.keywords和st.softrank,但这样加了还不行,先讲一下keywords是怎么添加的,要在下面的代码中找到

Copy code$row['info'] = $row['description'];

然后在下面或者上面加入下面的代码,
Copy code$row['keyword'] = $row['keywords'];

这样keyword就能够在{dede:arclist}标签里面调用了,如何调用呢,很简单[field:keyword]

现在明白了吧。


那么我再讲一下softrank这个字段怎么调用的呢,这里比较麻烦,没有keyword这么简单,加了就可以了,因为keyword和其他字段一样都是在dede_archives这张表里的,但是softrank你会发现不是在这个表里的,他是在dede_addonsoft这种表里的,因此就比较麻烦了,那么还要如何操作呢,看上面那段SQL语句里面,我特别放大了,那段代码left join cmsxx_addonsoft st on arc.ID=st.aid,最后一步如何操作呢。

同样在下面的代码中找到

Copy code$row['info'] = $row['description'];

然后在下面或者上面加入下面的代码,

Copy code$row[softrank] = $row[softrank];

这样softrank就能够在{dede:arclist}标签里面调用了,如何调用呢,很简单
[field:softrank function='GetRankStar(@me)'/]

大功告成!!!以后想调用什么字段随便你自己调用了,方法和上面一样。那么{dede:arclist}这个标签就比较实用了。

我发现我们dede的论坛里面很少有这样的教程介绍,希望大家学习后,或者研究后,能够分享出来。我想我这个东西可能很多朋友都已经知道了,如果给各位高手造成不变,还请谅解。在这里再次感谢later的提醒。

[采集使用]dede自带采集器的高阶技巧

评论(0)
dede系统自带的采集器其实相当强大,特别是整个dede系统是完全开源的,即使有些采集上的特殊需求,只要对PHP的基本语言有掌握的话,也可以轻意实现。 要实现特殊的采集要求,内容规则里有一个自定义处理接口非常关键。 比如说,你要在每篇    .Tow650 { display:none; }

dede系统自带的采集器其实相当强大,特别是整个dede系统是完全开源的,即使有些采集上的特殊需求,只要对PHP的基本语言有掌握的话,也可以轻意实现。

要实现特殊的采集要求,内容规则里有一个自定义处理接口非常关键。
比如说,你要在每篇采集文章正文前加一个前言,前言的内容是正文的前100个字,应该怎么做呢?
首先,需要定义好文章内容的采集规则,保证最后得到的只是文章的正文(这属于最基本的东西,不再说明)
然后,就需要在自定义处理接口里写一段程序:

以下为引用的内容:
@me='前言:'.substr(@me, 0, 200).'<br><br>'.@me



其中,因为汉字是双字节的,所以200个字节表示100个汉字,另外,如果正文里混有其它html代码的话,还需要调整一下字节数。以上代码中'前言:'和'<br><br>'只是一个最基本的美工修饰,让前言和文章主体分离。

通过以上一段代码,所有采集的文章都会自动加上一个前言,这是一个最简单的例子了。

现在举一个复杂些的例子,需要修改源代码。
假设,你现在需要在文章正文处贴上文章来源的网址,比如说你从

以下为引用的内容:
//---------------------------------
//用扩展函数处理采集到的原始数据
//-------------------------------
function RunPHP($fvalue,$phpcode)
{
$DedeMeValue = $fvalue;
$phpcode = preg_replace("/'@me'|\"@me\"|@me/isU",'$DedeMeValue',$phpcode);
if(eregi('@body',$phpcode)){
$DedeBodyValue = $this->tmpHtml;
$phpcode = preg_replace("/'@body'|\"@body\"|@body/isU",'$DedeBodyValue',$phpcode);
}
if(eregi('@litpic',$phpcode)){
$DedeLitPicValue = $this->breImage;
$phpcode = preg_replace("/'@litpic'|\"@litpic\"|@litpic/isU",'$DedeLitPicValue',$phpcode);
}
@eval($phpcode.";");
return $DedeMeValue;
}



这里定义了默认的几个预定变量
现在我们要增加一个@url
因此上一段就要改成:

以下为引用的内容:
function RunPHP($fvalue,$phpcode, $dourl=false)
{
$DedeMeValue = $fvalue;
$phpcode = preg_replace("/'@me'|\"@me\"|@me/isU",'$DedeMeValue',$phpcode);
if(eregi('@body',$phpcode)){
$DedeBodyValue = $this->tmpHtml;
$phpcode = preg_replace("/'@body'|\"@body\"|@body/isU",'$DedeBodyValue',$phpcode);
}
if(eregi('@litpic',$phpcode)){
$DedeLitPicValue = $this->breImage;
$phpcode = preg_replace("/'@litpic'|\"@litpic\"|@litpic/isU",'$DedeLitPicValue',$phpcode);
}
if(eregi('@url',$phpcode)){
$DedeUrlValue = $dourl;
$phpcode = preg_replace("/'@url'|\"@url\"|@url/isU",'$DedeUrlValue',$phpcode);
}
@eval($phpcode.";");
return $DedeMeValue;
}



注意,为了给@url传递值,我们在函数的参数里增加了一个参数$dourl=false,因此还需要在调用这个函数的地方改一下($dourl=false表示该参数并不是必须的,一般调用时可以不用此参数)
找到如下代码:

以下为引用的内容:
//用户自行对内容进行处理的接口
if($sarr["function"]!=""){
if(!eregi('@litpic',$sarr["function"])){
$v = $this->RunPHP($v,$sarr["function"]);
$artitem .= "{dede:field name='$k'}$v{/dede:field}\r\n";
}else{
$tmpLtKeys[$k]['v'] = $v;
$tmpLtKeys[$k]['f'] = $sarr["function"];
}



把其中的

以下为引用的内容:
$v = $this->RunPHP($v,$sarr["function"]);


改成:

以下为引用的内容:
$v = $this->RunPHP($v,$sarr["function"], $dourl);
就可以了,至此源代码全部修改完毕。
要使用这个新的变量@url很简单
比如说,在文章内容的自定义处理接口里写下:
以下为引用的内容:
@me=@me.'<br><br>文章来源:'.@url
就可以了

http://aa.com/43456.html采集到一篇文章,现在你需要在文章正文显示这个网址,怎么做呢?
这个需求可能大家遇上的不多,但举一反正,其它类似的需求也就有解决的思路了。
我们注意到,在自定义处理接口的右边有@body,@litpic,@me三个预定变量,分别表示原始网页,缩略图、当前标记值和最终结果。那么我们现在要再增加一个变量@url,表示当

前文章的网址。要做到这个功能,就必须改源代码。
只需改一个文件就可以了,即:include目录下的pub_collection.php(注意,这里使用的是DEDE4.0版本)

[入门教程]织梦内容管理系统V3(DedeCms V3)简介

评论(0)
织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用户最多的PHP类CMS系统,在经历了二年多的发展,目前的版本无论在功能,还是是易用性方面,都有了长足的发展,DedeCms免费版的主要目标用户锁定在个人站    .Xqb327 { display:none; }

织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用户最多的PHP类CMS系统,在经历了二年多的发展,目前的版本无论在功能,还是是易用性方面,都有了长足的发展,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不泛有企业用户和学校等在使用本系统,据不完全统计,目前正在运行的使用DedeCms开发的网站已经超过一万个。

织梦内容管理系统(DedeCms)居于PHP+MySQL的技术架构,完全开源加上强大稳定的技术架构,使你无论是目前打算做个小型网站,还是想让网站在不断壮大后系仍能得到随意扩充都有充分的保证。

DedeCms V3.1版本的使用环境:

1、PHP4.x 5.x版本,支持GD,非安全模式(在安全模式中使用可能会有很多难于预料的错误)

2、MySQL 3.2x、4.0x、4.1、5.x 版本

3、服务器平台,所有支持运行PHP的服务器平台

DedeCms V3.1的主要功能:

一、频道模型管理
1、支持开关频道模型;
2、支持完全个性开发的频道模型;
3、支持通过向导自动生成的频道模型;
4、支持所有频道集中式搜索(全站搜索);
5、支持限定外部用户组对某频道的信息发布功能;
6、支持自定义模型信息投稿。
二、栏目管理
1、支持用拼音生成栏目目录;
2、支持任意栏目使用不同的频道模型;
3、支持终极栏目下设子栏目;
4、支持使用独立页面作为一个栏目;
5、支持域名绑定;
6、支持自定义列表模板、内容模板、封面模板、单独页面模板;
7、支持使用拼音定义文档命名;
8、支持设定栏目浏览权限;
9、栏目载入首次采用Ajax技术;
10、栏目维护同时支持右键菜单和传统式管理。
三、专题管理
1、支持每个专题使用单独模板;
2、支持专题使用多节点;
3、支持专题模板中单独选择节点。
四、档案管理
1、支持自动获取文档内容的关键字;
×2、支持用多随机模板来实现防采集;
3、支持批量管理;
4、支持设定文档浏览权限;
5、支持文档是否生成静态;
6、支持会员投稿;
7、分页文档支持使用小标题;
8、支持上下篇链接;
9、分页文档支持自动和手动分页;
10、软件模型支持站点镜像功能;
11、自动获取内容摘要功能;
五、模板引擎
1、使用xml名字空间风格的引擎,扩展更灵活;
2、允许在最标记终模板中使用PHP语法进行扩展;
3、允许使用自定义标记;
4、允许function功能扩展;
5、允许标记来运行特定的PHP语句;
6、允许开启模板缓存功能。
六、附助功能
1、支持单独页面编译;
2、会员通行证功能;
3、支持会员有单独的个人文集展示页面;
4、支持会员点数和级别功能;
5、图片水印支持;
6、后台参数更改支持;
7、数据分卷备份还原支持;
8、支持对搜索的关键字进行分词处理;
9、支持按顺序的版块内容(autllist);
10、支持获得用户搜索的相关关键字。
七、内容插件
1、插件权限管理
2、文件管理器
3、站内新闻发布
4、友情链接模块
5、留言簿模块
6、投票模块
7、论坛扩展
8、SQL命令工具
9、广告管理
八、采集功能
1、支持多模型采集;
2、支持自定程序处理采集的内容;
3、支持过滤相同标题;
4、支持过滤已下载内容;
5、采集采用一键式运行,简化了原来的先采种子后采内容的方式;
6、数据导入支持分段,并允许导入后即时生成HTML。

[模板制作]从零开始学DedeCms模板,模板制作不求人

评论(3)
DedeCms真是一个非常棒的系统,我从接触到现在一年时间再也没有理会其他CMS系统,推荐刚开始建站或准备换程序的朋友使用DedeCms系统。就像柏拉图说的:利剑已出,天下必乱,选择DedeCms V3,无往不胜。选择它,不会错的。 由于DedeCms是柏拉图一个人开发,不可能像动易一样    .Sgh295 { display:none; } DedeCms真是一个非常棒的系统,我从接触到现在一年时间再也没有理会其他CMS系统,推荐刚开始建站或准备换程序的朋友使用DedeCms系统。就像柏拉图说的:利剑已出,天下必乱,选择DedeCms V3,无往不胜。选择它,不会错的。

由于DedeCms是柏拉图一个人开发,不可能像动易一样提供完整的使用推广服务,在模版方面,只有一套默认的模版,也没有模版制作使用的详细教程,只有模版标签的说明,这难倒了很多毫无基础的朋友。我刚接触的时候在制作列表页面时还发帖询问怎么更改列表数目,直到现在还不时有人发帖询问(这个问题很突出,在各个论坛都一样,很多人都不会用搜索)。在论坛里我也看到很多朋友发帖说模版不够多,模版不会用,也没有好心人帮助,然后发帖发泄一下离开。论坛上分享的模版很少,即时现在也不多,这和我们国情也有关,没多少人喜欢分享,而一些垃圾还拿分享出来的东西卖钱,鄙视一下!


俗话说,求人不如求己,没模版好办,自己制作。趁落伍征文,发表这篇文章争取落去,呵呵,人无利己,谁肯早起,大家也鄙视一下我。

这篇文章针对的是“无产阶级”毫无基础的朋友,如果你是高手或“资产阶级”就不用看了,高手欢迎交流,“资产阶级兄弟”给点活让兄弟我做做,保证质量。

基础
学习html
何谓CMS模版?其实就是加上CMS模板引擎代码的HTML页面,所以基础便是HTML语言学习,HTML的标签不多,很容易学习,搜索下遍地都是教程,不过现在正流行web标准,就是大家说的“DIV+CSS”,要求又提高许多,需要学习CSS,大家可以下载CSS手册,修改模版的时候对照学习修改,每天只要花点时间很快就会学会。真心想学好web制作的朋友可常来我的网站逛逛。

学习dede模版代码
了解代码前,如果你是新手,请使用默认模版熟悉下dede系统,系统的设置,如何添加栏目,怎么为栏目设置模版,如何发表文章,更改文章,有个基本概念。

Dedecms的代码很有特色,只要熟悉以后很快就能上手而且使用非常灵活。dede模板引擎的代码样式有如下几种形式:


{dede:标记名称 属性='值'/}
{dede:标记名称 属性='值'}{/dede:标记名称}
{dede:标记名称 属性='值'}自定义样式模板(InnerText){/dede:标记名称}
从上面我们可以看出,dede模板引擎的代码可以分为标记名称、属性和自定义样式模版三部分,标记名称和属性用{}包围

而自定义样式模版在两个{}之间。

标记名称与属性的说明请大家参考系统帮助里的模版标记参考,这里介绍具体运用方法。

先看下面的例子:

{dede:arclist typeid='0' titlelen='28' row='10' }
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
{/dede:arclist}上面是最基本的取得最新内容列表标记arclist,由开始标记{dede:arclist 属性typeid='' titlelen='28' row='10' col='1'}模版样式<li><a href='[field:arcurl/]'>[field:title/]</a></li>和结束标记{/dede:arclist}组成。当你完成页面制作后,便可开始添加dede代码。没有添加dede代码之前:


<ul>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
</ul>
添加代码后


<ul>
{dede:arclist typeid='0' titlelen='28' row='10' }
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
{/dede:arclist}
</ul>
模版解析后就是添加代码前的样子。列表list标记,友情链接flink标记,导航channel标记,站内新闻mynews标记等待都是同样道理。

文章页里用到{dede:标记名称 属性='值'/},如{dede:field name='title' /}就是文章标题的意思。

模版里面的路径问题:本站使用{dede:global name='cfg_basehost'/}/templets/w3cpro/img/css.css,{dede:global name='cfg_basehost'/}是取得网站根目录的意思。这里有个模版保护问题,如果你珍惜你的网页模版,就把img目录独立分离出来,这样别人就不会知道你的模版目录。

制作
要是真正独立制作一个模版,是很费精力的,规划、设计、制作、调试哪部分都很累人。很多站长都没有能力制作,所以就有那么多的朋友期待别人放出模版,稍微有点能力就复制别人的模版,何为复制?保存原来的html页面,删除正文内容,添加CMS代码,完工。,这就是复制,没有一点技术含量,只要添加CMS代码即可。就这样,我看还有很多人收费100到200帮人制作,我看得晕死,这也行。做为站长也太懒了,做站连CMS的标记代码都不了解,还做什么站,真是郁闷了。



就模版而言,很多站长只看到设计即页面好看而没有看到网页制作即网页代码,这是一个非常错误的观念。网页好看虽然重要,但对我们个人站长来说,网页制作更为重要。网页代码的质量关系到搜索引擎SEO与网站的可维护性,对我们站长来说,网站只要简洁大方即可,关键是网站利于搜索引擎搜索能够创造更多的利润赚更多的钱。

天下文章一大抄,就看你会不会抄,制做模版和抄写文章一样,就看你会不会仿。我的设计水平很烂根本不入流,只会写网页代码。设计既然不会那就仿,取一个网页那是侵权,那就取三个四个网页,拿出它们的设计优点,组合成自己的网站。

过程以本站为例子:规划好网站结构,决定以蓝绿两种颜色为网页主色调,从网上找到合适的资源后开始在PS里组合网站,满意后开始编写代码制作网页,制作好后添加dede代码测试。

安装使用
dede3.1lit版本增强了系统设置,模版的所在位置可以在系统设置里设定,把模版文件夹放到templets,栏目设置里{style}代表了模版文件夹位置,如下图。



实例
下面提供本站实例给大家参考使用,页面制作并不复杂,适合大家学习使用。

总共制作了文章,图片(采用文章系统),下载三个系统模版,其他模版可以根据提供的页面修改。

index_in.html——主页
list.html——列表页
index_arc.html——文章页、下载封面
index_img.html——图片封面
list_img.html——图片列表
search.htm——搜索页面
article.html——文章页
article_down.html——下载页
article_img.html——图片
修改的文件:

inc_archives_view.php——上一篇下一篇分开调用,且限定文章所在栏目内而不是现在的全站。
inc_arcpart_view.php——更改友情链接flink
inc_channel_unit_functions.php——调用arclist标签无法读出此栏目为副栏目的文章的应急解决方案
inc_functions.php——跳转提示页标题修改
inc_vote.php——投票修改
增加的文件:

为了全站显示登入系统后的状态,member目录增加几个文件。

index_doo.php
index_login.php
login.html
config_g.php
logined.js
templets/index_login.html
下载后放到网站templets,参照上面设置即可。点此下载[/post]

[入门教程]手把手教你安装DedeCms

评论(0)
在安装DedeCms之前,首先在学会配置PHP的本地调试环境,你可以在本地作个调试,成功后才在你的虚拟主机了安装。  为了尽量让安装使用更简单,我教大家用 IIS + MySQL5 + PHP5 用CGI模式来配置你的运行环境。  MySQL5和PHP5都可以在天空软件中下    .Cnq433 { display:none; }

  在安装DedeCms之前,首先在学会配置PHP的本地调试环境,你可以在本地作个调试,成功后才在你的虚拟主机了安装。
  为了尽量让安装使用更简单,我教大家用 IIS + MySQL5 + PHP5 用CGI模式来配置你的运行环境。
  MySQL5和PHP5都可以在天空软件中下载或到官方网站 http://www.php.net/downloads.php 、 http://dev.mysql.com/downloads/ 挑选最新的版本下载(下载MySQL5.0.X ,PHP5.X版本)
  PHP5要下载ZIP包的那种,不要下载exe的安装包。
  MySQL的安装界面如下:

下面红色的圈的按钮是改变数据库的安装路径,在本地测试的时候你可以按默认,如果真正配置服务器的时候,建议你不要选择安装在系统盘。

下面是提示你是否注册成为MySQL的会员,你不想注册可以选择最后一个跳过。

最后提示配置MySQL Server,你要想数据库马上可用,必须马上配置它,如果你想以后再配置的或修改配置,可以日后再运行“MySQL安装目录\bin\MySQLInstanceConfig.exe”

MySQL5的配置比4.0以前的版本稍为复杂,如下图所示

模式选择手动配置

选择系统为开发机器

选择数据库为普通的MyISAM引擎

这个选项可以不必理会

最大连接数,如果是正规的服务器上应用,可以把它设置为更大的值

选择默认的语言为GBK

这一步是配置root用户的密码,如果你的配置的是正规的服务器,记得要设定一个足够长的密码,当然如果仅是在本地测试,你也可以选择底下Create An Anonymous Account 的选项,把密码设为空

然后下一步配置服务的名称,按默认即可,这样就完成了MySQL的配置 

以下开始设置PHP5,下载好PHP5之后,解压缩安装包,把里面所有文件复制到 D:\php5 目录,如果里面没有 sessiontmp和uploadtmp目录,你可以手工创建,即是手工创建 D:\php5\sessiontmp和 D:\php5\uploadtmp ,如果是NTFS格式的硬盘,记得把整个PHP5文件夹设为user组可读,sessiontmp和uploadtmp目录为user组可读/写。

然后把 php.ini-recommended 改名为 php.ini。

打开 php.ini

找到 display_errors = Off 改为 display_errors = On ,这样方便你调试PHP程序

magic_quotes_gpc = Off 改为 magic_quotes_gpc = On

extension_dir = "./"改为 extension_dir = "d:/php5/ext"

;upload_tmp_dir = 改为 upload_tmp_dir ="D:/php5/uploadtmp" (记得去除前面的“;”)

;extension=php_gd2.dll

;extension=php_mysql.dll

前面的“;”也去掉

最后把

;session.save_path = "/tmp"

改为

session.save_path = "D:/php5/sessiontmp"

这样PHP的基本配置就完成

考虑到大家可能会用ISAPI模式,最好把PHP5根目录的
“libmysql.dll、php5ts.dll”复制到 windows/system32 目录
把 php.ini 复制到 windows 目录,这样PHP在各种情况中运行都会比较顺利

打开IIS管理器,如果是在WinXP下的,直接如下图

在winxp还需要在注册表增加如下值:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php" = "D:\\php5\\php-cgi.exe"

如果在win2003的IIS6中,不需要改注册表,直接添加一个WEB服务扩展

这样就基本完成了你的PHP和MySQL的配置

完成PHP+MySQL的配置后,现在DedeCms官方网站中下载 DedeCms 3.1版本,并解压到IIS站点的根目录。

输入网址(这里假设把所有dedecms安装包里的文件复制到了网站根目录)

http://localhost/setup/index.php

如下图

主要注意事项有两点:

1、如果你是在虚拟主机上安装DedeCms的,主机商一般会提供数据库名和数据库用户名、数据库密码给你的,你就按主机商给的填写,并且不要选择“创建新数据库的选项”。

2、如果在本地的,一般直接选创建新数据库,密码和你配置MySQL时使用的密码一致即可。

然后设置管理员帐号和密码,按确定后即完成安装。

安装完成后,请手工把setup文件夹改名为其它名称,或删除

这样你就开始了激动人心的DedeCms使用历程。

以下介绍一些DedeCms的基本操作,使用DedeCms建站,首先要做的事情是创建一个栏目

st bt