织梦CMS二次开发程序实例.docx

上传人:b****6 文档编号:4768224 上传时间:2022-12-08 格式:DOCX 页数:80 大小:68.15KB
下载 相关 举报
织梦CMS二次开发程序实例.docx_第1页
第1页 / 共80页
织梦CMS二次开发程序实例.docx_第2页
第2页 / 共80页
织梦CMS二次开发程序实例.docx_第3页
第3页 / 共80页
织梦CMS二次开发程序实例.docx_第4页
第4页 / 共80页
织梦CMS二次开发程序实例.docx_第5页
第5页 / 共80页
点击查看更多>>
下载资源
资源描述

织梦CMS二次开发程序实例.docx

《织梦CMS二次开发程序实例.docx》由会员分享,可在线阅读,更多相关《织梦CMS二次开发程序实例.docx(80页珍藏版)》请在冰豆网上搜索。

织梦CMS二次开发程序实例.docx

织梦CMS二次开发程序实例

Dede二次开发程序详解(来自网上,摘录而成)

调用说明:

推荐会员(带用户头像)

[quote]

{dede:

sqlsql="SELECTmid,mtype,userid,uname,matt,face

FROMdede_member

wherematt=1andmtype='个人'

LIMIT0,10"}

头像:

facerunphp='yes']

if(!

@me)@me='

[/field:

face]"/>

用户名:

globalname='cfg_cmspath'/]/member/?

[field:

userid/]/'>[field:

uname/]

{/dede:

sql}

[field:

facerunphp='yes']

if(!

@me)@me='

[/field:

face]

为用户头像图片

[img]

是如果用户头像为空的话要显示的图像这个大家自己改吧

[/quote]

调用说明:

会员积分排行

[quote]

{dede:

sqlsql="Selectmid,userid,uname,scoresFromdede_memberorderbyscoresdesclimit0,10"}

globalname='cfg_cmspath'/]/member/?

[field:

userid/]/'>[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(本地机填127.0.0.1),输入后点“确认安装”。

出现安装成功提示。

退出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:

sqlsql="Selectid,bookname,author,pubdate,body,litpicFromdede_story_booksorderbyiddesclimit0,10"}

idfunction=DedeID2Dir(@me)/]/[field:

booknamefunction=GetPinyin(@me)/]-[field:

id/].html">

litpic/]"border="0"width="75"height="100"/>

idfunction=DedeID2Dir(@me)/]/[field:

booknamefunction=GetPinyin(@me)/]-[field:

id/].html">[field:

booknamefunction="cn_substr(@me,12)"/]

{/dede:

sql}

功能:

最新连载内容调用,含栏目名称、书名、章节名、发布时间。

代码:

{dede:

bookcontentlistrow=10booktype=0orderby=lastpostauthor=keyword=}

[field:

cataloglink/][field:

booklink/]

[field:

contentlink/]

[field:

lastpostfunction="GetDateMk(@me)"/]

{/dede:

bookcontentlist}

功能:

热门图书调用

代码:

{dede:

booklistrow=5booktype=0titlelen=10imgwidth=80imgheight=100orderby=weekcc}[field:

imglink/]{/dede:

booklist}

功能:

推荐图书调用

代码:

{dede:

booklistrow=5booktype=0titlelen=10imgwidth=80imgheight=100orderby=commend}[field:

imglink/]{/dede:

booklist}

分类信息

功能:

调用地区与类型

代码:

{dede:

infolink}

地区:

[field:

nativeplace/]

类型:

[field:

infotype/]

{/dede:

infolink}

功能:

调用最新信息

代码:

{dede:

arclistsgrow=10titlelen=32orderby=pubdatechannelid=-8idlist=}

[[field:

typelink/]][field:

textlink/][field:

pubdatefunction="MyDate(m-d,@me)"/]

{/dede:

arclistsg}

功能:

分类信息图片调用

代码:

{dede:

arclistsgrow=1titlelen=30flag=c,ainfolen=80orderby=pubdatechannelid=-8typeid=6imgwidth=105imgheight=137}

arcurl/]">[field:

image/]

arcurl/]">[field:

title/]{/dede:

arclistsg}

会员模块

功能:

分列显示,按积分排行,带头像。

正确链接到会员个人空间。

代码:

{dede:

sqlsql="Selectmid,userid,uname,face,scoresFromdede_memberorderbyscoresdesclimit0,2"}

globalname="cfg_cmspath"/]/member/index.php?

uid=[field:

userid/]"target="_blank">

face/]"alt=[field:

spacename/]width="52"height="52"/border="0">
[field:

uname/]
积分:

[field:

scores/]

{/dede:

sql}

圈子模块

功能:

调用圈子标题,分10行显示

代码:

{dede:

sqlsql="SELECTgroupimg,groupid,groupnameFROMdede_groupsWHEREishidden=0ORDERBYthreadsDESCLIMIT0,10"}

  • id=[field:

    groupid/]"title="[field:

    groupname/]"target="_blank">[field:

    groupname/]

  • {/dede:

    sql}

    功能:

    热门圈子,调用图片及标题,分10列显示

    代码:

    {dede:

    sqlsql="SELECTgroupimg,groupid,groupnameFROMdede_groupsWHEREishidden=0ORDERBYthreadsDESCLIMIT0,10"}

    id=[field:

    groupid/]"_fcksavedurl=""group/group.php?

    id=[field:

    groupid/]""title="[field:

    groupname/]"target="_blank">

    groupimg/]"border="0"width="75"height="100"/>
    [field:

    groupnamefunction="cn_substr(@me,12)"/]

    {/dede:

    sql}

    功能:

    圈子话题调用。

    代码:

    {dede:

    sqlsql="SELECTsubject,digest,replies,gid,tidFROMdede_group_threadsWHEREclosed=0ORDERBYdatelineDESCLIMIT0,10"}

  • id=[field:

    gid/]&tid=[field:

    tid/]"_fcksavedurl=""group/viewthread.php?

    id=[field:

    gid/]&tid=[field:

    tid/]""title="[field:

    subject/]"target="_blank">[field:

    subject/]

  • {/dede:

    sql}

    功能:

    最新圈子,调用图片及标题,分10列显示

    代码:

    {dede:

    sqlsql="SELECTgroupimg,groupid,groupnameFROMdede_groupsWHEREishidden=0ORDERBYgroupidDESCLIMIT0,3"}

    id=[field:

    groupid/]"_fcksavedurl=""group/group.php?

    id=[field:

    groupid/]""title="[field:

    groupname/]"target="_blank">

    groupimg/]"border="0"width="75"height="100"/>
    [field:

    groupnamefunction="cn_substr(@me,12)"/]

    {/dede:

    sql}

    下载模块

    功能:

    显示符号、标题及发布日期

    代码:

    {dede:

    arclistrow=10titlelen=36typeid="120"orderby=pubdate}

    arcurl/]">[field:

    title/]

    [field:

    pubdatefunction="MyDate(m-d,@me)"/]

    {/dede:

    arclist}

    问答模块

    功能:

    包含问答分类及问答标题。

    代码:

    {dede:

    askrow=10qtype=}

    [

    typeurl/]>[field:

    tidname/]]

    url/]">[field:

    title/]

    {/dede:

    ask}

    适用于V5.5版本,其他版本未测试。

    先来看一段代码:

    {dede:

    sqlsql='SelectA.id,A.title,D.id,D.downloadsfromdede_archivesasALeftJoindede_downloadsasDON

    A.id=D.idorderbydownloadsDESClimit0,10;'}

  • idrunphp='yes']$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:

    id]">[field:

    title/]下载次数[field:

    downloads/]

  • {/dede:

    sql}

    这个就是SQL调用下载排行的,已经实现了静态地址调用。

    limit0,10;的意思是调用10调,想调用多少条只要修改“10”为你想要的数字,如过你想实现调用特定版块的下载排行,只需要在limit0,10;的后面加上"wheretypeid=xx"XX就是栏目ID。

    比如我想调用栏目10的下载排行,代码就是这样:

    {dede:

    sqlsql='SelectA.id,A.title,D.id,D.downloadsfromdede_archivesasALeftJoindede_downloadsasDON

    A.id=D.idWHEREtypeid=10orderbydownloadsDESClimit0,10;'}

  • idrunphp='yes']$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:

    id]">[field:

    title/]下载次数[field:

    downloads/]

  • {/dede:

    sql}

    这里有个小技巧:

    typeid=后面的值可以用当前栏目ID的标签,这样可以在每个栏目列表页实现当前栏目的下载排行调用,具体的望读者自己探究。

    当然也可以用typeid>或者<来限定栏目范围。

    特定栏目调用已经解决,那么就剩下分时段调用了,可分为日,周,月,年,甚至自定义天数或者小时,代码如下:

    {dede:

    sqlsql='SelectA.id,A.title,D.id,D.downloadsfromdede_archivesasALeftJoindede_downloadsasDON

    A.id=D.idWHEREtypeid=10andpubdate>UNIX_TIMESTAMP(CURDATE()-INTERVAL7day)orderbydownloadsDESClimit0,10;'}

  • idrunphp='yes']$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:

    id]">[field:

    title/]下载次数[field:

    downloads/]

  • {/dede:

    sql}

    注意,我这是在上一个特定栏目的前提下再加一个时间条件语句,所以,我用了and,后面蓝色字体部分为所需要的内容,如果不想特定栏目,就把有色字体部分代码和紧跟着的“AND”去掉就行。

    pubdate>UNIX_TIMESTAMP(CURDATE()-INTERVAL7day)的意思是取7天内的数据,我们只需要修改数字"7"就可以实现我们的目标,比如10天就是pubdate>UNIX_TIMESTAMP(CURDATE()-INTERVAL10day),如果想调用一个月的数据,那就是pubdate>UNIX_TIMESTAMP(CURDATE()-INTERVAL1month)一年的话只要把"day"改成"year"即可。

    标签到这里基本上已经完美了。

    希望大家自己多多实验,多探究,多查相关资料。

    如果有不懂请留言。

    附送另外一个小小的标签,关于调用今日更新情况的调用:

          小小说阅读【{dede:

    sqlsql="SELECTcount(ID)AScFROMdede_archivesWHEREpubdate>UNIX_TIMESTAMP(CURDATE())andtypeid=特定栏目ID"}今

    这个HACK是在现有的两个版本上修改而成的,没有进行完全测试,如有问题请告知。

    将以下内容存为CREDIT_DEL.PHP文件

    php

    if(!

    defined("CREDIT_DEL")){

          die("AccessDenied");

    }

    ############以下是安装方法############

    /*

    1.将本文件放到index.php所在目录下

    2.      购买人数hack

          请用数据库管理工具phpmyadmin在

          TABLE:

    cdb_threads的最尾

          ----新增----

          栏位      :

    buy

          型态      :

    INT

          长度      :

    3

          预设值      :

    0

    3.将本文件放到index.php所在目录下

    在viewthread.php中的32行左右

          在下面代码

          if(!

    $forum[getattachperm]&&!

    $allowgetattach){

              showmessage("对不起,您的级别〔{$grouptitle}〕无法下载附件。

    ");

          }elseif($forum[getattachperm]&&!

    strstr($forum[getattachperm],"\t$groupid\t")){

              showmessage("对不起,只有特定用户可以下载本论坛的附件,请返回。

    ");

          }

          的下面加上以下代码

          ####付款下载限制的帖加/减积分的HACK开始####

          if($attach[creditsrequire]&&$attach[creditsrequire]<=$credit&&!

    $ismoderator){

              if(!

    $credit_del_yes)

                    showmessage(

    展开阅读全文
    相关资源
    猜你喜欢
    相关搜索

    当前位置:首页 > PPT模板 > 商务科技

    copyright@ 2008-2022 冰豆网网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1