织梦各栏目二次开发程序详解_免费下载.doc_第1页
织梦各栏目二次开发程序详解_免费下载.doc_第2页
织梦各栏目二次开发程序详解_免费下载.doc_第3页
织梦各栏目二次开发程序详解_免费下载.doc_第4页
织梦各栏目二次开发程序详解_免费下载.doc_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Dede二次开发程序详解(dede爱好者必备)调用说明:推荐会员(带用户头像) quotedede:sql sql=SELECT mid,mtype,userid,uname,matt,faceFROM dede_member where matt = 1 and mtype=个人LIMIT 0 , 10 头像: 用户名:field:uname/ /dede:sql field:face runphp=yes if(!me)me = /image/post/smile/default/14.gif; /field:face 为用户头像图片 img/attachment/upload/87/11787.gif/img 是如果用户头像为空的话要显示的图像 这个大家自己改吧/quote调用说明:会员积分排行 quotedede:sql sql=Select mid,userid,uname,scores From dede_member order by scores desc limit 0,10 field:uname/ 积分field:scores/ /dede:sql 全部测试通过/quote这时需要通过dedecms后台中的ucenter模块进行Ucenter配置。 然后,在浏览器地址栏输入http:/localhost/dede/login.php,打开后台管理登录界面,输入密码后进入dedecms后台管理。 dedecms后台管理界面的左侧导航栏,点击“模块”标签,注意下面的“UCenter模块”。 点击“UCenter配置”,进入以下页面。 “服务端地址“填:http:/localhost/ucenter (本地机),创始人密码即是你在安装UCenter时设定的创始人密码;服务端IP地址填你的Ucenter安装的空间IP(本地机填),输入后点“确认安装”。出现安装成功提示。 退出dedecms管理后台,再次进入UCenter用户管理中心,这时我们会发现在“应用管理”中多了一项“我的网站”,并且显示的是“通信成功”了。 我们再通过浏览器访问http:/localhost/uchome/index.php, 用管理员的账号进入Uchome首页,点击“设置”进入另外一页,再点击右上角的“高级管理”,输入密码后点击“进入平台”进入高级管理平台。 在左侧导航栏的“高级设置”中找到一项“UCenter应用”点击进入。 在这里我们可以看到我们加入的三个应用,分别点击三个应用下面的“提交更新“。退出管理界面,现在我们再回过头去测试一下看就可以同步了。七、经验总结及疑问 如果没有做到Dedecms、UChome、Discuz!中同时登录及退出的问题其关键就是在uchome中的“ucenter应用”中没有“提交更新”。 有时候安装dedecms、uchome或ucenter出现问题安装不了或出错等等,有的很多就是环境没有搭载好,所以我建议就安装dedecms提供的DedeAMPZForServer套件,至少在服务器的搭载上我们不需要花费太多的精力。 另外注意的是UCenter的配置。比如“通信密钥”是否一致。这个一般是导致 UCenter 与Dedecms、UChome、Discuz!等通信失败的主要原因之一。这个密钥是可以自己随便写的,但要保证 UCenter 与 DIscuz 的密钥一致。又比如“ID”。查看 UCenter 后台的应用 ID 是否与Dedecms、UChome、Discuz!等后台的 ID 一致,如不一致,请修改各个应用后台的UCenter 应用 ID。这个也是导致 UCenter 与 DIscuz 通信失败的主要原因之一。关于UCenter的配置等这一点可以参考UCenter官方提供的说明手册。 功能:图书封面图片调用,含标题代码:dede:sql sql=Select id,bookname,author,pubdate,body,litpic From dede_story_books order by id desc limit 0,10field:bookname function=cn_substr(me,12)/dede:sql 功能:最新连载内容调用,含栏目名称、书名、章节名、发布时间。代码:dede:bookcontentlist row=10 booktype=0 orderby=lastpost author= keyword=field:cataloglink/ field:booklink/field:contentlink/field:lastpost function=GetDateMk(me)/ /dede:bookcontentlist功能:热门图书调用代码:dede:booklist row=5 booktype=0 titlelen=10 imgwidth=80 imgheight=100 orderby=weekccfield:imglink /dede:booklist功能:推荐图书调用代码:dede:booklist row=5 booktype=0 titlelen=10 imgwidth=80 imgheight=100 orderby=commendfield:imglink /dede:booklist分类信息功能:调用地区与类型代码:dede:infolink地区:field:nativeplace / 类型:field:infotype / /dede:infolink功能:调用最新信息代码:dede:arclistsg row=10 titlelen=32 orderby=pubdate channelid=-8 idlist=field:typelink/ field:textlink/field:pubdate function=MyDate(m-d,me)/ /dede:arclistsg功能:分类信息图片调用代码:dede:arclistsg row=1 titlelen=30 flag=c,a infolen=80 orderby=pubdate channelid=-8 typeid=6 imgwidth=105 imgheight=137field:image/field:title /dede:arclistsg会员模块功能:分列显示,按积分排行,带头像。正确链接到会员个人空间。代码:dede:sql sql=Select mid,userid,uname,face,scores From dede_member order by scores desc limit 0,2field:uname/积分:field:scores/ /dede:sql圈子模块功能:调用圈子标题,分10行显示代码:dede:sql sql= SELECT groupimg,groupid,groupname FROM dede_groups WHERE ishidden=0 ORDER BY threads DESC LIMIT 0,10 field:groupname/dede:sql功能:热门圈子,调用图片及标题,分10列显示代码:dede:sql sql= SELECT groupimg,groupid,groupname FROM dede_groups WHERE ishidden=0 ORDER BY threads DESC LIMIT 0,10 field:groupname function=cn_substr(me,12)/dede:sql功能:圈子话题调用。代码:dede:sql sql= SELECT subject,digest,replies,gid,tid FROM dede_group_threads WHERE closed=0 ORDER BY dateline DESC LIMIT 0,10 field:subject/dede:sql功能:最新圈子,调用图片及标题,分10列显示代码:dede:sql sql= SELECT groupimg,groupid,groupname FROM dede_groups WHERE ishidden=0 ORDER BY groupid DESC LIMIT 0,3 field:groupname function=cn_substr(me,12)/dede:sql下载模块功能:显示符号、标题及发布日期代码:dede:arclist row=10 titlelen=36 typeid=120 orderby=pubdate field:title /field:pubdate function=MyDate(m-d,me)/ /dede:arclist问答模块功能:包含问答分类及问答标题。代码:dede:ask row=10 qtype=field:tidname/field:title/dede:ask适用于V5.5版本,其他版本未测试。先来看一段代码:dede:sql sql=Select A.id,A.title,D.id,D.downloads from dede_archives as A Left Join dede_downloads as D ON A.id = D.id order by downloads DESC limit 0,10; field:title/下载次数field:downloads/dede:sql这个就是SQL调用下载排行的,已经实现了静态地址调用。limit 0,10; 的意思是调用10调,想调用多少条只要修改“10”为你想要的数字,如过你想实现调用特定版块的下载排行,只需要在limit 0,10; 的后面加上where typeid = xx XX就是栏目ID。比如我想调用栏目10的下载排行,代码就是这样:dede:sql sql=Select A.id,A.title,D.id,D.downloads from dede_archives as A Left Join dede_downloads as D ON A.id = D.id WHERE typeid = 10 order by downloads DESC limit 0,10;field:title/下载次数field:downloads/dede:sql这里有个小技巧:typeid =后面的值可以用当前栏目ID的标签,这样可以在每个栏目列表页实现当前栏目的下载排行调用,具体的望读者自己探究。当然也可以用typeid 或者 UNIX_TIMESTAMP( CURDATE( ) - INTERVAL 7 day) order by downloads DESC limit 0,10;field:title/下载次数field:downloads/dede:sql注意,我这是在上一个特定栏目的前提下再加一个时间条件语句,所以,我用了 and ,后面蓝色字体部分为所需要的内容,如果不想特定栏目,就把有色字体部分代码和紧跟着的“AND”去掉就行。pubdate UNIX_TIMESTAMP( CURDATE( ) - INTERVAL 7 day) 的意思是取7天内的数据,我们只需要修改数字7就可以实现我们的目标,比如10天就是pubdate UNIX_TIMESTAMP( CURDATE( ) - INTERVAL 10 day) ,如果想调用一个月的数据,那就是pubdate UNIX_TIMESTAMP( CURDATE( ) - INTERVAL 1 month) 一年的话只要把day改成year即可。标签到这里基本上已经完美了。希望大家自己多多实验,多探究,多查相关资料。如果有不懂请留言。附送另外一个小小的标签,关于调用今日更新情况的调用: 小小说阅读【dede:sql sql=SELECT count( ID ) AS c FROM dede_archives WHERE pubdate UNIX_TIMESTAMP( CURDATE( ) ) and typeid = 特定栏目ID今这个HACK是在现有的两个版本上修改而成的,没有进行完全测试,如有问题请告知。 将以下内容存为CREDIT_DEL.PHP文件 ?php if(!defined(CREDIT_DEL) die(Access Denied); # 以下是安装方法 # /* 1.将本文件放到 index.php所在目录下 2. 购买人数 hack 请用数据库管理工具 phpmyadmin 在 TABLE : cdb_threads 的最尾 -新增- 栏位 : buy 型态 : INT 长度 : 3 预设值 : 0 3. 将本文件放到 index.php所在目录下 在 viewthread.php 中的32行左右 在下面代码 if(!$forumgetattachperm & !$allowgetattach) showmessage(对不起,您的级别$grouptitle无法下载附件。); elseif($forumgetattachperm & !strstr($forumgetattachperm, t$groupidt) showmessage(对不起,只有特定用户可以下载本论坛的附件,请返回。); 的下面加上以下代码 # 付款下载限制的帖加/减积分的HACK开始 # if($attachcreditsrequire & $attachcreditsrequire = $credit & !$ismoderator) if(!$credit_del_yes) showmessage(此文件需要支付$attachcreditsrequire$creditunit$credittitle 才能下载 算你狠, 我买!太奸诈了,我不干!); define(CREDIT_DEL, TRUE); $credit_del = down; includecredit_del.php; $ck_credit_del = $tid._credit_del; if($credit $credit & !$ismoderator) showmessage(对不起,本贴要求$credittitle高于 $threadcreditsrequire $creditunit才可浏览,请返回。); 将以上代码 改成以下代码 # 付款浏览限制的帖加/减积分的HACK开始 # if(!$forumviewperm & !$allowview) showmessage(对不起,您的等级$grouptitle无法浏览文章。); elseif($forumviewperm & !strstr($forumviewperm, t$groupidt) showmessage(对不起,本论坛只有特定会员可以浏览,请返回。); elseif($threadcreditsrequire & $threadcreditsrequire $credit & !$ismoderator) showmessage(对不起,本贴要求$credittitle高于 $threadcreditsrequire $creditunit才可浏览,请返回。); if($threadcreditsrequire & $threadcreditsrequire = $credit & !$ismoderator) $ck_credit_del = $tid._credit_del; if(!$credit_del_yes & !$HTTP_COOKIE_VARS$ck_credit_del) showmessage(此主题需要支付$threadcreditsrequire$creditunit$credittitle 才能观看内容, 已有 $threadbuy人 购买了, 算你狠, 我买!太奸诈了,我不干!我返回。); define(CREDIT_DEL, TRUE); $credit_del = view; includecredit_del.php; $ck_credit_del = $tid._credit_del; if($credit $credit) $credit_del_view = $credit; $credit_del_view = $credit_del_view?$credit_del_view:$threadcreditsrequire; $db-query(UPDATE $table_members SET credit=credit-$credit_del_view WHERE username=$cdbuser); $CDB_SESSION_VARScredit = $credit-$credit_del_view; /以下是付款给发表主题者(金钱 是由发表主题者所设) $query_xgzone = $db-query(SELECT tid,author FROM cdb_threads WHERE tid=$tid); $post = $db-fetch_array($query_xgzone); $db-query(UPDATE $table_members SET credit=credit+$credit_del_view WHERE username=$postauthor); /以上是付款给发表主题者(金钱 是由发表主题者所设) /以下是该主题购买人数 $db-query(UPDATE cdb_threads SET buy=buy+1 WHERE tid=$tid); /以上是该主题购买人数 setcookie($ck_credit_del, $tid, 9999999999, $cookiepath, $cookiedomain); else setcookie($ck_credit_del, $tid, 9999999999, $cookiepath, $cookiedomain); # 以上是浏览扣分和加分的部份 # # 以下是下载扣分和加分的部份 # elseif ($credit_del = down) if($credit_del_down$credit) $credit_del_down = $credit; $credit_del_down = $credit_del_down?$credit_del_down:$attachcreditsrequire; $db-query(UPDATE $table_members SET credit=credit-$credit_del_down WHERE username=$cdbuser); $CDB_SESSION_VARScredit = $credit-$credit_del_down; if($credit_add_down_y) if(!$credit_add_down1) if($attachcreditsrequire$credit_add_down_lim) $credit_add_down = $credit_add_down_lim; else $credit_add_down = $attachcreditsrequire; else $credit_add_down = $credit_add_down1; $query_ck = $db-query(SELECT a.aid, t.author FROM $table_attachments a LEFT JOIN $table_threads t ON a.tid=t.tid WHERE aid=$aid); $attach_ck = $db-fetch_array($query_ck); $db-query(UPDATE $table_members SET credit=credit+$credit_add_down WHERE username=$attach_ckauthor); # 以上是下载扣分和加分的部份 # ?1.修改列表页码序列HTML组合串: /include/arc.listview.class.php动态分页方 法:function GetPageListDM($list_len,$listitem=index,end,pre,next,pageno)静态 分页方法:function GetPageListST($list_len,$listitem=index,end,pre,next,pageno)2. 一、二级导航嵌套输出:在 dede:channelartlist type=top row=8 dede:field name=typename/ 分类: dede:channel type=son field:typename/| /dede:channel /dede:channelartlist3.如上在list_article模板哪怕指定是 type=top ,仍然会以传为参数为基准。(不知道是不是dede 的一个BUG)4.dede:arclist/dede:arclist 此标签有一个不太爽的地方就是输出行之间会自动的加入一个硬回车rn 由其是我们在进行js变量组合的时候会比较的不爽,或者会出错,解决方法如下:修改include/taglib /arclist.lib.php 找到return $artlist 改为return str_replace(rn,$artlist);5. table :dede_arcatt 文档属性 添加相关的属性之后需要在table:dede_archives.flag 枚举属性中相应的加入6.DEDECMS根据副栏目进行文 章调用DEDECMS中一个文章可以同时属于两个栏目,即一个主栏目一个副栏目,dede:arclist 属性中可以通过typeid进行主栏目有效性筛选,但是有时我们却想根据副栏目进行筛选,查了dedecms的在线用户手册发现没有此功能,airzen 就动手改了标签对应的源文件 dedecmsROOT/include/taglib/arclist.lib.php,其中我们更改方法function lib_arclist(&$ctag,&$refObj).return lib_arclistDone(.,$ctag-GetAtt(noflag) , $ctag-GetAtt(typeid2) );然后更改方法:function lib_arclistDone(., $noflag=,$typeid2=0).$typeid2= AttDef($typeid2,0);.if($typeid2 !=0) $orwheres = arc.typeid2 = $typeid2 ; if(!empty($typeid) . 其中上面加粗下划线的部 分为airzen修改的地方可以完美的与dede:arclist typeid2=n/dede:arclist进行数据调用了。7.DEDECMS 列表页调用主副栏目有一个位栏目ID的文章列表dede:list 对应的是/include/arc.listview.class.php 要同时获得副栏目的文章修改此文件 查找$cfg_need_typeid2会 找到function CountRecord() global $cfg_list_son,$cfg_need_typeid2; if(empty($cfg_need_typeid2) $cfg_need_typeid2 = N;/增加下面一行$cfg_need_typeid2 = Y;.好 了,在副栏目列表中就会出现主栏目和副栏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论