欢迎来到模板无忧!织梦模板,dede模板下载,织梦cms模板,免费网站模板下载站

模板无忧

Dede二次开发程序解析(dede学习必须具备一)

企业模板

文章介绍

 调用说明:推荐会员(带用户头像)
[quote]
{dede:sql sql="SELECT mid,mtype,userid,uname,matt,face
FROM dede_member
where matt = 1 and mtype='个人'
LIMIT 0 , 10"}
头像:<img src="[field:face runphp='yes']
if@me = '';
[/field:face]" />
用户名:<a [field:global name='cfg_cmspath'/]/member/ [field:userid/]/'>[field:uname/]</a>
{/dede:sql}[field:face runphp='yes']
if@me = '';
[/field:face]
为用户头像图片
[img][/img]
是假如用户头像为空的话要显示的图像 这个大伙自己改吧
[/quote]
调用说明:会员积分排名
[quote]
{dede:sql sql="Select mid,userid,uname,scores From dede_member order by scores desc limit 0,10"}
<dd$amp;>amp;$lt;span class="name"$amp;>amp;$lt;a [field:global name='cfg_cmspath'/]/member/ [field:userid/]/'>[field:uname/]</a>
</span$amp;>amp;$lt;span class="jifen">积分[field:scores/]</span$amp;>amp;$lt;/dd>
{/dede:sql}全部测试通过
[/quote]

  这个时候需要通过织梦CMS后台中的ucenter模块进行Ucenter配置。

  然后,在浏览器地址栏输入,打开后台管理登录界面,输入密码后进入织梦CMS后台管理。

  织梦CMS后台管理界面的左边导航栏,点击“模块”标签,注意下面的“UCenter模块”。

  点击“UCenter配置”,进入以下页面。

  “服务端地址“填:http://localhost/ucenter (当地机),开创者密码即是你在安装UCenter时设定的开创者密码;服务端IP地址填你的Ucenter安装的空间IP(当地机填127.0.0.1),输入后点“确认安装”。出现安装成功提示。

  退出织梦CMS管理后台,第三进入UCenter用户管理中心,这个时候大家会发目前“应用管理”中多了一项“我的网站”,并且显示的是“通信成功”了。

  大家再通过浏览器访问, 用管理员的账号进入Uchome首页,点击“设置”进入另外一页,再点击右上角的“高级管理”,输入密码后点击“进入平台”进入高级管理平台。

  在左边导航栏的“高级设置”中找到一项“UCenter应用”点击进入。

  在这里大家可以看到大家加入的三个应用,分别点击三个应用下面的“提交更新“。退出管理界面,目前大家再回过头去测试一下看就可以同步了。

  7、经验概要及疑问

  假如没做到织梦CMS、UChome、Discuz!中同时登录及退出的问题其重要就是在uchome中的“ucenter应用”中没“提交更新”。

  有时安装织梦CMS、uchome或ucenter出现问题安装不了或出错等等,有些不少就是环境没搭载好,所以我建议就安装织梦CMS提供的DedeAMPZForServer套件,至少在服务器的搭载上大家无需花费太多的精力。

  另外注意的是UCenter的配置。譬如“通信密钥”是不是一致。这个通常是致使 UCenter 与织梦CMS、UChome、Discuz!等通信失败的重要原因之一。这个密钥是可以自己随便写的,但要保证 UCenter 与 DIscuz 的密钥一致。又譬如“ID”。查询 UCenter 后台的应用 ID 是不是与织梦CMS、UChome、Discuz!等后台的 ID 一致,如不同,请修改各个应用后台的"UCenter 应用 ID"。这个也是致使 UCenter 与 DIscuz 通信失败的重要原因之一。关于UCenter的配置等这一点可以参考UCenter官方提供的说明手册。

  功能:图书封面图片调用,含标题

  代码:
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
{dede:sql sql="Select id,bookname,author,pubdate,body,litpic From dede_story_books order by id desc limit 0,10"}
<td$amp;>amp;$lt;a /book/[field:id function=DedeID2Dir/]/[field:bookname function=GetPinyin/]-[field:id/].html"$amp;>amp;$lt;img src="[field:litpic/]" border="0" width="75" height="100" /$amp;>amp;$lt;/a$amp;>amp;$lt;br /$amp;>amp;$lt;a /book/[field:id function=DedeID2Dir/]/[field:bookname function=GetPinyin/]-[field:id/].html">[field:bookname function="cn_substr"/]</a>
</td>
{/dede:sql}
</tr>
</table>
功能:最新连载内容调用,含栏目名字、书名、章节名、发布时间。

  代码:
<table width="688" border="0" cellpadding="0" cellspacing="0">
{dede:bookcontentlist row=10 booktype=0 orderby=lastpost author= keyword=}
<tr><td align="left" width="30"$amp;>amp;$lt;/td>
<td width="300" align="left">[field:cataloglink/] [field:booklink/]</td>
<td width="318" align="left">[field:contentlink/]</td>
<td width="40" align="right">[field:lastpost function="GetDateMk"/]</td>
</tr>
{/dede:bookcontentlist}
</table>
功能:热点图书调用

  代码:
{dede:booklist row=5 booktype=0 titlelen=10 imgwidth=80 imgheight=100 orderby=weekcc}[field:imglink /]{/dede:booklist}
功能:推荐图书调用

  代码:
{dede:booklist row=5 booktype=0 titlelen=10 imgwidth=80 imgheight=100 orderby=commend}[field:imglink /]{/dede:booklist}

  分类信息

  功能:调用区域与种类

  代码:
{dede:infolink}
<b>区域:</b>[field:nativeplace /]<br />
<b>种类:</b>[field:infotype /]
{/dede:infolink}

  功能:调用最新信息

  代码:{dede:arclistsg row=10 titlelen=32 orderby=pubdate channelid=-8 idlist=}
[[field:typelink/]] [field:textlink/][field:pubdate function="MyDate"/]
{/dede:arclistsg}功能:分类信息图片调用
代码:
{dede:arclistsg row=1 titlelen=30 flag=c,a infolen=80 orderby=pubdate channelid=-8 typeid=6 imgwidth=105 imgheight=137}
<a [field:arcurl/]">[field:image/]</a$amp;>amp;$lt;br/$amp;>amp;$lt;a [field:arcurl/]" >[field:title /]</a>{/dede:arclistsg}
会员模块

  功能:分列显示,按积分排名,带头像。正确链接到会员个人空间。

  代码:
<table border="0" width="220" cellspacing="0" cellpadding="0">
<tr>
{dede:sql sql="Select mid,userid,uname,face,scores From dede_member order by scores desc limit 0,2"}
<td align="center" width="110"$amp;>amp;$lt;a [field:global name="cfg_cmspath"/]/member/index.php uid=[field:userid/]" target="_blank"$amp;>amp;$lt;img src="[field:face/]" alt=[field:spacename/] width="52" height="52" / border="0"$amp;>amp;$lt;br>[field:uname/]<br>积分:[field:scores/]< /a$amp;>amp;$lt;/td>
{/dede:sql}
</tr>
</table>

  圈子模块

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

  代码:
{dede:sql sql=" SELECT groupimg,groupid,groupname FROM dede_groups WHERE ishidden=0 ORDER BY threads DESC LIMIT 0,10"}
<li$amp;>amp;$lt;a group/group.php id=[field:groupid/]" title="[field:groupname/]" target="_blank"> [field:groupname/]</a$amp;>amp;$lt;/li>
{/dede:sql}
功能:热点圈子,调用图片及标题,分10列显示
代码:
<table border="0" width="100%" id="table5" cellspacing="0" cellpadding="0">
<tr>
{dede:sql sql=" SELECT groupimg,groupid,groupname FROM dede_groups WHERE ishidden=0 ORDER BY threads DESC LIMIT 0,10"}
<td$amp;>amp;$lt;a group/group.php id=[field:groupid/]" _fcksavedurl=""group/group.php id=[field:groupid/]"" title="[field:groupname/]" target="_blank"$amp;>amp;$lt;img src="[field:groupimg/]" border="0" width="75" height="100" /$amp;>amp;$lt;br /> [field:groupname function="cn_substr"/]</a>
</td>
{/dede:sql}
</tr>
</table>功能:圈子话题调用。
代码:{dede:sql sql=" SELECT subject,digest,replies,gid,tid FROM dede_group_threads WHERE closed=0 ORDER BY dateline DESC LIMIT 0,10"}
<li$amp;>amp;$lt;a group/viewthread.php id=[field:gid/]&tid=[field:tid/]" _fcksavedurl=""group/viewthread.php id=[field:gid/]&tid=[field:tid/]"" title="[field:subject/]" target="_blank"> [field:subject/]</a$amp;>amp;$lt;/li>
{/dede:sql}功能:最新圈子,调用图片及标题,分10列显示

  代码:
<table border="0" width="100%" id="table5" cellspacing="0" cellpadding="0">
<tr>
{dede:sql sql=" SELECT groupimg,groupid,groupname FROM dede_groups WHERE ishidden=0 ORDER BY groupid DESC LIMIT 0,3"}
<td$amp;>amp;$lt;a group/group.php id=[field:groupid/]" _fcksavedurl=""group/group.php id=[field:groupid/]"" title="[field:groupname/]" target="_blank"$amp;>amp;$lt;img src="[field:groupimg/]" border="0" width="75" height="100" /$amp;>amp;$lt;br /> [field:groupname function="cn_substr"/]</a>
</td>
{/dede:sql}
</tr>
</table>

  下载模块

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

  代码:
<table width=98% border=0 cellspacing=0 cellpadding=0>
{dede:arclist row=10 titlelen=36 typeid="120" orderby=pubdate}
<tr>
<td width=2%$amp;>amp;$lt;/td>
<td valign=bottom width=80% $amp;>amp;$lt;font color="#0000ff">↓</font> <a [field:arcurl /]">[field:title /]</a$amp;>amp;$lt;/td>
<td align=right valign=middle width=18% class=font_green>[field:pubdate function="MyDate"/]</td>
</tr>
{/dede:arclist}
</table>问答模块

  功能:包含问答分类及问答标题。

  代码:
{dede:ask row=10 qtype=}
<span class="tclass">[<a href=[field:typeurl/]>[field:tidname/]</a>]</span>
<span class="tlink"$amp;>amp;$lt;a [field:url/]">[field:title/]</a$amp;>amp;$lt;/span$amp;>amp;$lt;br />
{/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; '}
<li$amp;>amp;$lt;a [field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive;@me=$url['arcurl'];[/field:id] ">[field:title/]</a>下载次数[field:downloads/]</li>
{/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;'}
<li$amp;>amp;$lt;a [field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive;@me=$url['arcurl'];[/field:id] ">[field:title/]</a>下载次数[field:downloads/]</li>
{/dede:sql}

  这里有个小窍门:typeid =后面的值可以用目前栏目ID的标签,如此可以在每一个栏目列表页达成目前栏目的下载排名调用,具体的望读者自己探究。当然也可以用typeid >或者<来限定栏目范围。
特定栏目调用已经解决,那样就剩下分时段调用了,可分为日,周,月,年,甚至自概念天数或者小时,代码如下:
{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 and pubdate > UNIX_TIMESTAMP - INTERVAL 7 day) order by downloads DESC limit 0,10;'}
<li$amp;>amp;$lt;a [field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive;@me=$url['arcurl'];[/field:id] ">[field:title/]</a>下载次数[field:downloads/]</li>
{/dede:sql}
注意,我这是在上一个特定栏目的首要条件下再加一个时间条件语句,所以,我用了 and ,后面蓝色字体部分为所需要的内容,假如不想特定栏目,就把有色字体部分代码和紧跟着的“AND”去掉就好。pubdate > UNIX_TIMESTAMP - INTERVAL 7 day) 的意思是取7天内的数据,大家仅需修改数字"7"就可以达成大家的目的,譬如10天就是pubdate > UNIX_TIMESTAMP - INTERVAL 10 day) ,假如想调用一个月的数据,那就是pubdate > UNIX_TIMESTAMP - INTERVAL 1 month) 一年的话只须把"day"改成"year"即可。

  标签到这里基本上已经完美了。期望大伙自己多多实验,多探究,多查有关资料。
假如有不懂请留言。附送另外一个小小的标签,关于调用今日更新状况的调用:
    <dt class='light'$amp;>amp;$lt;strong>小小说阅读</strong$amp;>amp;$lt;div align=right$amp;>amp;$lt;font size=3>这部分部分组成,
用于讲解模板标记用功能,建议小白都把这部分标记功能看看,大致做一个知道。
因为织梦CMS模板大致分为首页、频道、列表、内容与其他附加模板组成,用范围指出 这部分标记在哪些模板中起用途。模板文件夹中大伙可以仔细剖析 下,模版中不少都是以下列这部分名字出现index.htm,index_X.htm,list_X.htm,article_X.htm,你可以对照标记的适用范围,查询这部分标签在什么模板中能起到用途。
用于介绍模板基本用法,在用时候可以拿来依据我们的需要进行响应的修改。
这部分属性,决定你调用的内容,决定织梦CMS分析这部分标记的形式,属性尤为重要。以上这部分介绍主如果让大部分小白 掌握看帮文件,模板修改用的大部分问题都是由于自己不去看这部分帮文件致使的,期望广大织梦CMS新人引以为戒。下面就来容易说下织梦CMS模板的分类,搞过ASP的人应该知晓,动态网页基本上就是对变量、数组的操作,然后通过语句输出为 HTML,织梦CMS的这部分标记也是起到同样的成效。
下面依据起到的不同成效对模板进行如下分类:
1、变量操作型这里的变量不同于对编程中那个复杂的变量,新人不懂,我这里所指出的变量是织梦CMS调用局部内容进行输出的一些标记,这里有: 与还有系统不常见的,比如global 标记、include 标记、mytag标记、position 标记,这部分标记大伙可以看出,都是输出来为一部分内容,并不能重复,这个标记在分析时候生成的只不过一块不重复的内容。2、数组操作型这里的数组当然在模板标记中,指的是循环输出一些内容的标记,比如N行文章、N个软件、N个会员信息等等,织梦CMS这部分标记有: 当然 也有foreach这种“罕见”的标记,这部分标记用时,通过属性设置,能循环输出一些列内容,不少重复的东西,总是 只须一个标记就搞定,不信可以开个模板注意观察察看。有了这个分类将来,在修改、制作模板时候相信会无往不利了,天涯在修改、制作模板中常常用的标记有sql、include、loop、mytag这部分标记,由于这部分标记非常“自由”,当 然新人可以在模板制作修改中尝试用这部分灵活自由的标记。本篇下面容易讲一下数组操作性标记的原理与他怎么使用。大家在织梦CMS模板中常常看到下面如此的例子:
{dede:arclist row=4 titlelen=20 orderby=pubdate typeid=58}
<dd$amp;>amp;$lt;span>[field:pubdate function=strftime/]</span>[field:textlink/]</dd>
{/dede:arclist}
这里大家用了arclist标记,通过属性大家可以得到下列有关信息:
row=4 调用4行如此的数据
titlelen=20 取标题的前20个字符(2个字符为一个中文字符)
orderby=pubdate 排列顺序为根据发布时间排列,当然你也可以选择其他,帮有详细说明。
typeid=58 调用栏目id为58栏目的文章
标记都是通过 {dede:arclist}这个开始,{/dede:arclist}结束,这个和html有些相像,所以做织梦CMS模板,最好熟练下html的 有关常识。
开始、结束标记中含有[field:textlink/]如此的标记,小白需要记住的是[field:textlink/]只可能存在于{dede:XXX}{/dede:XXX}之间,绝对不愿能拿出来单独用!其他数组操作性标记都是同样的原理,只不过将繁琐的从数据库调用的东西简化为织梦CMS标记,织梦CMS在分析时候读取标记然后进行查看、输出等一 些后续操作。小白注意的是,熟练学会啥是频道页、列表页、内容页,与调 用内容关系和范围,依据我们的页面需要,用不一样的标记达到成效,这是小白在不断实践的基础下才能学会的。

  文件:include/inc_function.php 系统默认会载入此文件
GetCurUrl
获得目前得脚本得URLGetAlabNum
把字符串里得全角数字转为半角数字Text2Html
文本转HTMLHtml2Text
获得HTML里得文本function ClearHtml
清除HTML标记cnw_left
中文截取把双字节字符也看做一个字符cn_substr
中文截取2,单字节截取模式GetMkTime
把中文得时间格式转换为Linux时间截,对于不可以辨别得格式,会返回timeSubDay
返回降低一天得Linux时间截AddDay
返回增加一天得Linux时间截GetDateTimeMk
从指定得Linux时间截返回 0000-00-00 00:00:00 格式得时间GetDateMk
从指定得Linux时间截返回 0000-00-00 格式得时间GetIP
获得顾客部IPGetPinyin
获得一串中文字符得拼音 ishead=0 时,输出全拼音 ishead=1时,输出拼音首字母ShowMsg
显示织梦CMS提示信息,其中当onlymsg=1时,不跳转,仅显示alert提示dd2char
把符合规则得数字转为字母(符合a-zA-Z Ascii码得数字转换为字母,不符合则不变)PutCookie
按默认参数设置一个CookieDropCookie
使Cookie失效function GetCookie
获得一个cookie值function GetCkVdValue
获得验证码得session值FtpMkdir
用FTP创建一个目录FtpChmod
用FTP改变一个目录得权限OpenFtp
打开FTP连接CloseFtp
关闭FTP连接TestStringSafe
用户ID和密码或其它字符串安全性测试,返回true或falsehtmlEncode
过滤HTML代码function AjaxHead
发送一个ajax头sendmail
邮件发送函数highlight
加亮一段HTML里得某些词语

  
文件:include/inc_channel_unit_functions.phpGetFileUrl
获得文章得链接网址(对于动态得文章返回得是/plusview.php aid=$aid)
这部分参数需要通过主表dede_archives联结栏目表dede_arctype查看来获得GetTypeUrl
获得某栏目得链接网址GetParentIDS
获得某栏目得所有上级栏目得ID,返回得ID用 , 号分开TypeGetSunID
获得某栏目得所有下级栏目ID,当 $onlydd=true 时返回得才是用','分开得ID列表
不然返回得是SQL条件语句,形式为 $tb.typeid=$ID1 or $tb.typeid=$ID2 如此得形式GetHotKeywords
获得网站搜索得热点关键词CkLitImageView
判断是不是有缩略图片,有则返回一个img标记,通常在底层模板中用,如:
[Field:litpic function="CkLitImageView"/]

  
文件:pub_charset.phputf82gb
UTF8编码转gbk编码gb2utf8
gbk转utf8编码big52gb
big5转gb12312编码gb2big5
gb2312转big5编码

  
文件:inc_photograph.phpImageResize
缩图片自动生成函数,出处支持bmp、gif、jpg、pngWaterImg
给图片加水印

  
织梦CMS基本得类文件说明

织梦CMS前台用到模板得东西基本都是面向对象得,至于具体每一个对象得步骤我就不分析了,对于新手说也是不会。inc_arcbook_view.php
小说得列表、内容都是在这里操做得inc_archives_view.php
所有dede内核涉及得文章页,如文章、图集、软件或自概念模型得内容展示页都是在这个文件处置得inc_arclist_view.php
内容列表得处置类inc_arcpart_view.php
封面频道和通用调用标记得处置类inc_arcsearch_view.php
搜索类inc_arcspec_view.php
专题列表类inc_bookfunctions.php
小说文本保存操做函数inc_channel_unit.php
内容模型得特殊字段转换处置类inc_channel_unit_functions.php
与内核有关得要紧函数inc_custom_fields.php
自概念字段得表单和值得获得处置函数inc_digglist_view.php
Digg列表类inc_freelist_view.php
自由列表类inc_memberlogin.php
会员登录类inc_modules.php
模块类inc_rss_view.php
Rss列表类inc_sitemap.php
网站地图类inc_taglist_view.php
标签Tag列表类inc_typelink.php
栏目属性类inc_userlogin.php
管理员登陆类inc_vote.php
投票类mail.class.php
邮件类pub_collection.php
pub_collection_functions.php
采集类和函数pub_datalist.php
数据列表类pub_datalist_dm.php
数据列表类pub_db_mysql.php
数据库类pub_dedeattribute.php
属性分析类pub_dedehtml2.php
HTML分析类(主如果获得HTML里得图片、链接等信息)pub_dedetag.php
织梦模板分析类pub_
dede下载类pub_oxwindow.php
dede高级提示窗口类pub_splitword_www.php
dede分词类zip.lib.php
zip处置类


希望以上内容可以解决您的问题!
如有其他问题欢迎大家一起交流学习!
作者:酱油妹 来源:www.srgoc.cn 关注: 时间:2020-09-16 08:54
版权声明:凡注明来源为http://www.nsxcb.cn的均为本站原创,转载请注明来源。
本文网址:http://www.nsxcb.cn/jiaocheng/kaifa/20220313/12965.html
►凡本站提供教程均已验证教程的准确性。
►为提高用户在织梦后台添加栏目的灵活性(可随意添加/删除栏目),并保持(管理后台添加/删除栏目)与前端网站栏目的一致,本站模板中栏目均未固定,用户直接搜索typeid=''并替换''中的数字为所需栏目id即可。
►本站提供各种类型织梦模板!希望在这里找到喜欢的。下载本站模板,用户直接替换相关文字和图片即可。
►本站仅提供织梦模板即(DEDE模板),(除另外说明)均不带织梦安装程序及数据,用户直接覆盖默认模板即可。
►本站所有资源(包括源码、模板、插件等)仅供学习与参考,请勿用于商业用途。
►如有其他问题,请加网站客服QQ(375750496)进行交流。
相关织梦教程
在线客服

织梦模板 整站模板 新手教程 使用技巧