分享好友 教程首页 教程搜索 频道列表

destoon开发文档文件说明

2013-06-13 22:441390
+关注29
核心提示:看代码学习
常用的destoon常量、模版标签大全以及一些开发心得

本人接触DT时间不算太长,只因为新换的这份工作,网站就是用的destoon,也算是从零开始吧,destoon不算很难,跟大部分的网站系统都差不多,大概熟悉一下基本上就可以开始上手开发了。

一、先介绍一下destoon的目录结构,下边是destoon中一些核心的文件

admin 系统核心后台管理

├image 后台风格

├template 后台模板

/api 系统及第三方接口

├kf 在线客服

├map 电子地图

├oauth 一键登录

├pay 支付接口

├stats 第三方统计

├trade 担保交易

├ucenter UCenter

/file

├backup 数据库备份

├cache 缓存

├captcha 验证码字体

├chat 聊天记录

├config 配置

├data 导数据导入

├email 邮件列表

├flash Flash文件

├font 中文字体

├image 公用图片

├ipdata IP数据库

├log 日志

├md5 MD5镜像

├mobile 手机列表

├script javascript

├session SESSION

├setting 配置数据

├temp 临时目录

├update 系统更新

├upload 上传文件

/include 核心类库

/install 安装程序

/lang 语言包

/module 功能模块

├article 文章模块

├article/admin 文章管理

├article/admin/template 文章管理模板

├article/common.inc.php 文章模块初始化

├article/global.func.php 文章核心函数

├article/article.class.php 文章核心类

├article/index.inc.php 文章首页

├article/index.htm.php 静态文章首页

├article/list.inc.php 文章列表页

├article/list.htm.php 静态文章列表页

├article/show.inc.php 文章内容页

├article/show.htm.php 静态文章内容页

├article/search.inc.php 文章搜索

├article/task.inc.php 文章计划任务

/skin 风格皮肤

├default 默认风格

├default/image 图片文件

├default/style.css CSS文件

/template 模板文件

├default 默认模板

├default/index.htm 首页模板

/upgrade 系统升级

/admin.php 后台入口

/common.inc.php 系统初始化

/config.inc.php 系统配置

/index.html 静态首页

/index.php 动态首页

/version.inc.php 版本控制

Destoon也算是mvc框架吧,(如果不知道什么事MVC可以先去百度一下)举个例子,根目录下的文件夹/company里面的文件是MVC中的C,它控制对应module/company中的文件也就是我们说的M,最后我们通过V也是就是tempalte/default/company对应的文件来显示我们的界面,整个流程基本就是这样的。只要把这个流程弄清楚了,其他的就是写代码编程序的问题了。

二、主要的模版标签以及调用的方法

1.全局标签

网站名称:{$DT[sitename]}

网站地址:{DT_PA TH}

网站LOGO:{if $MODULE[$moduleid][logo]}{DT_SKIN}image/logo_{$moduleid}.gif{elseif $DT[logo]}{$DT[logo]}{else}{DT_SKIN}image/logo.gif{/if}

版权信息:{$DT[copyright]}

风格路径:{DT_PA TH}

客服电话:{$DT[telephone]}

ICP备案号:{if $DT[icpno]}{$DT[icpno]} ┊{/if}

VIP会员名称:{VIP}

真实货币名称:{$DT[money_name]}

真实货币单位:{$DT[money_unit]}

虚拟积分名称:{$DT[credit_name]}

虚拟积分单位:{$DT[credit_unit]}

Title(网站标题):{$seo_title}

Meta Keywords(网页关键词):{$head_keywords}

Meta Description(网页描述):{$head_description}

这些全局标签是随时拿出来都可以用的,不仅是在php文件中,在htm文件中也都是可以拿来用的,所以为了快速的、简洁的写代码,这些全局变量我们一定要熟识。

2.连接地址

默认各个模块连接:

会员:{$MODULE[2][linkurl]}

供应:{$MODULE[5][linkurl]}

求购:{$MODULE[6][linkurl]}

行情:{$MODULE[7][linkurl]}

公司:{$MODULE[4][linkurl]}

展会:{$MODULE[8][linkurl]}

资讯:{$MODULE[21][linkurl]}

招商:{$MODULE[22][linkurl]}

品牌:{$MODULE[13][linkurl]}

人才:{$MODULE[9][linkurl]}

知道:{$MODULE[10][linkurl]}

专题:{$MODULE[11][linkurl]}

图库:{$MODULE[12][linkurl]}

视频:{$MODULE[14][linkurl]}

下载:{$MODULE[15][linkurl]}

发布信息:{$MODULE[2][linkurl]}{$DT[file_my]}

企业商铺:{$MODULE[2][linkurl]}home.php

查看站内信:{$MODULE[2][linkurl]}message.php

管理买卖交易:{$MODULE[2][linkurl]}trade.php

完善企业资料:{$MODULE[2][linkurl]}edit.php?tab=2

注册:{$MOD[linkurl]}{$DT[file_register]}

登录:{$MODULE[2][linkurl]}{$DT[file_login]}

找回密码:{$MOD[linkurl]}send.php

VIP页面:{$MODULE[2][linkurl]}grade.php

WAP浏览:{if extend_setting('wap_enable')} WAP浏览{/if} RSS订阅:{if extend_setting('feed_enable')} | RSS订阅{/if}

行情速递:{$MODULE[7][linkurl]}{rewrite('price.php?product=all')}

企业新闻:{$MODULE[4][linkurl]}{rewrite('news.php?more=1')}

公告:{extendurl('announce')}

推广:{extendurl('spread')}

广告:{extendurl('ad')}

友情链接:{extendurl('link')}

申请友情链接:{extendurl('link')}{rewrite('index.php?action=reg')}

留言本:{extendurl('guestbook')}

投票:{extendurl('vote')}

这些链接地址也挺方便的,用的时候直接拿来就行。

3.首页调用

导航菜单:

首页 {loop $MODULE $m}

{if $m[ismenu]}

{$m[name]}

{/if}

{/loop}

调用登录模块:

{if $DT[page_login]}

{template 'user', 'chip'}

{/if}

调用分类模块:

{php $mid = 5;}

{template 'catalog', 'chip'}

4.各个模块数据的调用

供应:

最新供应信息:

{loop $tags $k $t}
[{area_pos($t[areaid], '/', 1)}]{$t[title]}
{/loop}

标签调用理论上需要网站管理人员有一定的HTML+CSS知识,并对PHP+MySQL有初步的了解。

调用过程实际是按照调用条件从数据表读取调用数量条数据,并依排序方式排序,最终通过标签模板的布局输出数据。

函数原型tag($parameter, $expires = 0) $parameter 表示传递给tag函数的字符串,系统自动将其转换为多个变量例如传递table=destoon&pagesize=10,系统相当于得到$table = ‘destoon’;$pagesize = 10;

两个变量$expires 表示缓存过期时间>0 缓存$expires秒;0 – 系统默认时间;-1 – 不缓存;-2 – 缓存SQL;一般情况保持默认即可。

变量$tags 以数组类型保存标签调用的数据,可通过loop语法遍历显示。

$pages 保存数据分页代码,仅在调用了分页时有效。$

path 模块路径。常用字段title 标题;linkurl 链接;catid 分类ID;introduce 简介;addtime 添加时间;

常用函数dsubstr($string, $length, $suffix = ”) 将字符串$string截取为$length长,尾部追加$suffix(例如..)

set_style($string, $style = ”, $tag = ‘span’) 将字符串$string置于$tagHTML标签中并设置style为$style linkurl($linkurl, $absurl = 0) 将相对路径$linkurl修补为绝对路径(防止链接错误)

date($format, $timestamp) 将时间戳$timestamp转化为$format(例如Y-m-d)格式

标签模板模板保存于./template/default/tag/目录;建议不要删除或者修改自带的模板,推荐在自带模板基础上新建模板并应用。有时候难免会出现系统自带模版不能满足需求的情况,这时候你可以在此目录下新建一个模版文件,然后按照自己的需求写出自己的模板。

destoon显示地区

显示地区:

需要的函数是include/module.func.php/get_mainarea($areaid, $area);

php页面:$AREA=cache_read(‘area.php’); //读取缓存文件

静态页面调用:

{php $mainarea = get_mainarea(0, $AREA)}

{loop $mainarea $k $v}

{if $k%2==0}

{/if}
{if $k%2==1}

{/if}
{/loop}

href=”{$MOD[linkurl]}{rewrite(…search.php?areaid=?.$v['areaid'].?&typeid=?.$typeid)}”>{$v[are aname]}

还有一种方法就是直接标签调用,,不错的,直接从destoon数据库里取出信息

调用分页:

分页标签:
$dtype&catid=$catid&pagesize=4&page=$page&showpage=1&datetype=5&order=”.$MOD[orde r].”&template=list-sell”)}–>

分页:{if $showpage && $pages}{$pages}{/if}

调用分类:

主要方法

$maincat = get_maincat(0, $CA TEGORY);

get_maincat(0, $CA TEGORY)——在include/global_func.php 中

$childcat = get_maincat(0, $CA TEGORY, 1);—调用超级栏目下的1级目录

0 代表最最根目录1代表level为1的目录level 手动设置默认都为1

如果0改为3 则为catid 为3 的目录

小注意:$CA TEGORY= cache_read(‘category-’.$moduleid.’.php’);此文件在模块页的common.inc.php页面中

调用

{loop $maincat $k $v}

{if $k%$DT[page_subcat]==0}{/if}

{set_style($v[catname],$v[style])} ({$ITEMS[$v[catid]]})

{if $k%$DT[page_subcat]==($DT[page_subcat]-1)}{/if}

{/loop}

注意:

在其模块module 文件夹下的php页面里必须有$maincat

$MOD[linkurl] 是模块也首页地址$v[linkurl]其下列表页加catid

什么是标签调用?

标签调用是根据调用条件(condition)从数据表(table)读取调用数量(pagesize)条数据,并按排序方式(order)排序,最终通过标签模板的布局输出数据。

可以看出,标签的工作分两个部分,一是读取数据,二是显示数据。

标签函数原型

标签函数保存于include/tag.func.php

tag($parameter, $expires = 0)

$parameter 表示传递给tag函数的字符串,系统自动将其转换为多个变量

例如传递table=destoon&pagesize=10&hello=world

系统相当于得到

$table = …destoon?;

$pagesize = 10;

$hello = …world?;

三个变量

$expires 表示标签缓存过期时间

>0 缓存$expires秒;0 – 系统默认标签缓存时间;-1 – 不缓存;-2 – 缓存SQL结果;

一般情况保持默认不需要传递。
数据读取过程

例如以下标签:

会被转换为如下的SQL语句:

SELECT *

FROM xhmb_sell

WHERE status=3

ORDER BY addtime DESC

LIMIT 0,10

读出的数据会保存在$tags 数组里

数据显示过程

1、通过标签模板显示

传递&template=abc给标签函数,例如:

默认的标签模板保存在模板目录/tag/目录里,例如&template=abc将调用模板目录/tag/abc.htm 模板来显示数据

如果标签模板放于其他目录,例如def,则传递&dir=def&template=abc,系统将调用模板目录/def/abc.htm模板

2、直接在模板里循环数据

此写法传递标签模板为null,并且直接返回数据给$tags数组,此时可以直接在模板里循环了

以下为一个完整的示例:

{loop $tags $t}

…

{/loop>

第一种写法一般用于多次调用的数据,第二种写法一般用于只调用一次的数据。

常用参数及含义

moduleid

moduleid指模块ID,可在后台模块管理里查询。对于直接调用模块的数据,设置正确的模块ID后,将不需要传递table参数,系统会自动获取。

例如传递moduleid=5,系统将识别为调用供应信息,自动设置table参数为sell

table

table指表名,可在后台数据库维护里查询。对于Destoon系统表,不需要加表的前缀;对于非Destoon系统表,需要填写完整的表名,且传递prefix参数

例如对于Destoon系统表,传递table=sell,如果表前缀为xhmb_,系统将识别表名为

xhmb_sell

对于非Destoon系统表,传递table=tb_abc&prefix=或者table=abc&prefix=tb_,系统将识别表名为tb_abc

fields

fields指查询的字段,默认为*。可以传递例如fields=title,addtime,但是一般情况下无需传递,Destoon独有的标签缓存机制会自动缓存查询结果,不必担心效率问题。

condition指查询的条件,如果不传递,则为1,代表任意条件的数据(此项需了解SQL语法)。Destoon所有模块遵循统一标准开发,所以很多条件是通用的。

例如status=3表示正常通过的信息、status=3 and level=1表示级别为1的信息、status=3 and thumb<>”表示有标题图片的信息等。

order

order指数据的排序方法(此项需了解SQL语法)。

例如order=addtime desc表示按添加时间降序排列、order=itemid desc表示按itemid降序排列、order=rand()表示随机数据等。

pagesize

pagesize指调用数据的数量,如果不传递,默认为10。

template

template指指定的标签模板,如果不传递,默认为list,位于模板目录/tag/list.htm,如果传递为null,表示不应用标签模板。参见上述数据显示过程。

其他常见用法举例

控制标题长度

在标签里传递length参数,例如&length=20表示20个字符长度(GBK一个汉字占2个字符,UTF-8一个汉字占3个字符),一般情况建议用css隐藏多余字符(定义height和overflow:hidden)

传递length参数,系统仅对title字段自动截取,如果需要截取其他字段,可用dsubstr函数例如{dsubstr($t[company], 20, ‘…’)} 表示截取company字段为20个字符,截取后,结尾追加…

设置日期显示格式

可以在标签里传递datetype参数:

1 表示年;

2 表示月-日;

3 表示年-月-日;

4 表示月-日时:分;

5 表示年-月-日时:分;

6 表示年-月-日时:分:秒

也可以在模板里直接使用date函数,例如{date(‘Y-m-d’, $t[addtime])} 表示将时间转换为年-月-日格式

调用某一分类的信息

在标签里传递catid参数,例如&catid=5表示调用分类ID为5的所有信息。

如果调用多个分类,用逗号分隔分类ID,例如&catid=5,6,7表示调用分类ID为5、6、7的所有信息。

分类调用默认包含子分类的信息,如果不需要包含子分类,可设置&child=0参数。

例如&catid=5&child=0表示只调用分类ID为5的信息,不包括子分类的信息。

调用某一地区的信息

调用地区信息和上述调用分类信息的方法完全相同,将其中的catid换为areaid即可。

显示信息所在分类


href=”{$MODULE[$moduleid][linkurl]}{$CA TEGORY[$t[catid]][linkurl]}”>{$CA TEGORY[$t[ catid]][catname]}

控制列数
此项常用于图片的布局,可使用cols参数。

例如调用12张图片,一行显示4个,共3行,则传递&pagesize=12&cols=4

支持cols参数的标签模板限thumb-table.htm和list-table.htm

其中,thumb-table.htm显示图片列表,list-table.htm显示文字列表

如果新建支持cols的标签模板或直接循环$tags,可参考以上两个模板的写法

上述效果可以也可以通过CSS实现,无需使用表格,请自行书写

显示文章的简介

使用{$t[introduce]}变量,如果要截取字数,例如80字符,可使用{dsubstr($t[introduce], 80, ‘…’)}

标签看似复杂难懂,实际上在理解各个参数的含义和调用流程后,您会了解到标签实际简单自由、灵活易用、功能强大。

默认模板里已提供了大量的调用范例和标签模板,可以在学习中参阅和调试。

标签调用是制作模板必备的知识,希望您能早日掌握。

三、第三方支付接口文件/api

Destoon里面有一个很重要的板块,就是商城板块。有商城就会有交易,而有交易就必须要有一个第三方支付平台,比如支付宝、财付通、网银等等平台。我们就以支付宝为例,你首先需要向支付宝申请一个接口,关于怎么申请支付宝接口,大家可以去看看。有了支付宝接口我们就可以在我们的网站后台设置了。在后台会员管理/模块设置里面选择支付宝

destoon开发文档

有了接口以后这些内容可以设置好了,然后就可以用了。


本文标签: #destoon #文档 #教程 #说明
整理员:小黑
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

DESTOON9.0网站管理系统更新升级时间表

    至DESTOON9.0发布以来,系统更新时间周期版本表2023-03-20• DESTOON网站管理系统V9.0正式版发布2023-03-23• DESTOON网站管理系统20230323更新2023-03-31• DESTOON网站管理系统20230331更新2023-04-06• DESTOON网

小黑 destoon程序2024-11-06

DESTOON v9.4.7-网站管理系统20241106更新

    更新项目[修复]会员默认登录时间设置0(关闭浏览器自动退出)无效[修复]会员完成一项认证后未更新总体认证状态[修复]APP中微信支付跳转到登录[修复]异步支付通知未更新子订单状态[修复]VIP修改会员组和日期未记录操

destoon destoon更新动态2024-11-06

DESTOON模板中引入layui组件库使用lay-tips提示的方法

    在模板开发中,如果我们使用了layui组件库,现在需要优化tips鼠标提示词显示就简单了很多,首先需要引入layui.css和layui.js

小黑 JavaScript教程2024-10-22

DESTOON9.0默认模板文件目录template结构说明

    9.0默认模板目录名和文件名

小黑 destoon程序2024-10-22

DESTOON9.0系统目录文件结构

    DESTOON程序v9.0文件目录结构图

小黑 destoon程序2024-10-22

下一篇
我来说两句
抢沙发