常用的des toon常量、模版标签大全以及一些开发心得
本人接触DT时间不算太长只因为新换的这份工作 网站就是用的destoo n,也算是从零开始吧 destoo n不算很难跟大部分的网站系统都差不多大概熟悉一下基本上就可以开始上手开发了。
一、先介绍一下d estoon的目录结构下边是des toon中一些核心的文件adm in系统核心后台管理
├ imag e后台风格
├ templa te后台模板
/api系统及第三方接口
├ kf在线客服
├map电子地图
├ o auth一键登录
├ pay支付接口
├ stats第三方统计
├ tr ade担保交易
├ uc ente rUCente r
/file
├ backup数据库备份
├ c ache缓存
├ captch a验证码字体
├ chat聊天记录
├ config配置
├ data导数据导入
├ email邮件列表
├ flash Flash文件
├ font中文字体
├ imag e公用图片
├ ipdata IP数据库
├ log 日志
├md5 MD5镜像
├mobile手机列表
├ script javasc ript
├ sessio nSESSION
├ s ettin g配置数据
├ temp临时目录
├ update系统更新
├ uplo ad上传文件
/includ e核心类库
/instal l安装程序
/lang语言包
/module功能模块
├ articl e文章模块
├ artic l e/admin文章管理 本文转自96花木网www 96hm com96花木网www 96hm com
├ artic l e/admin/templa te文章管理模板
├ articl e/common.inc.php文章模块初始化
├ articl e/global .func.php文章核心函数
├ articl e/articl e.class.php文章核心类
├ artic l e/index.inc.php文章首页
├ artic l e/index.htm.php静态文章首页
├ articl e/list.inc.php文章列表页
├ artic l e/lis t.htm.php静态文章列表页
├ artic l e/show.inc.php文章内容页
├ artic l e/show.htm.php静态文章内容页
├ articl e/search.inc.php文章搜索
├ articl e/task.inc.php文章计划任务
/s kin风格皮肤
├ defaul t默认风格
├ defaul t/image图片文件
├ defaul t/style.css CSS文件
/templa te模板文件
├ defaul t默认模板
├ defaul t/index.htm首页模板
/upgrad e系统升级
/adm in.p hp后台入口
/c ommon.inc.php系统初始化
/c onfig.inc.php系统配置
/index.html静态首页
/in d e x.p hp动态首页
/versio n.inc.php版本控制
Destoon也算是mv c框架吧 如果不知道什么事MVC可以先去百度一下举个例子根目录下的文件夹/compan y里面的文件是MVC中的C,它控制对应m odule/compan y中的文件也就是我们说的M最后我们通过V也是就是t empalt e/defaul t/compan y对应的文件来显示我们的界面整个流程基本就是这样的。只要把这个流程弄清楚了其他的就是写代码编程序的问题了。
二、主要的模版标签以及调用的方法
1.全局标签
网站名称 {$DT[sitena me]}
网站地址 {DT_PAT H}
网站LOGO {if$MODULE[$module id][logo]} {DT_SKI N}image/logo_{$module id}.gif{elseif
$DT[logo]} {$DT[logo]} {else} {DT_SKI N}image/logo.gif{/if}
版权信息 {$DT[copyri ght]}
风格路径 {DT_PAT H}
客服电话 {$DT[teleph one]} 本文转自96花木网www 96hm com96花木网www 96hm com
ICP 备案号 {if $DT[icpno]}<a href="http://www.miibei an.gov.cn" target ="_blank">{$DT[icpno]}</a> ┊ {/if}
VIP会员名称 {VIP}
真实货币名称 {$DT[money_name]}
真实货币单位 {$DT[money_unit]}
虚拟积分名称 {$DT[credit_name]}
虚拟积分单位 {$DT[credit_unit]}
Title(网站标题) {$seo_ti tle}
Meta Keywor ds(网页关键词) {$head_k eyword s}
Meta Descri ption(网页描述) {$head_d escrip tion}
这些全局标签是随时拿出来都可以用的不仅是在ph p文件中在htm文件中也都是可以拿来用的所以为了快速的、简洁的写代码这些全局变量我们一定要熟识。
2.连接地址
默认各个模块连接
会员 {$MODULE[2][linkur l]}
供应 {$MODULE[5][linkur l]}
求购 {$MODULE[6][linkur l]}
行情 {$MODULE[7][linkur l]}
公司 {$MODULE[4][linkur l]}
展会 {$MODULE[8][linkur l]}
资讯 {$MODULE[21][linkur l]}
招商 {$MODULE[22][linkur l]}
品牌 {$MODULE[13][linkur l]}
人才 {$MODULE[9][linkur l]}
知道 {$MODULE[10][linkur l]}
专题 {$MODULE[11][linkur l]}
图库 {$MODULE[12][linkur l]}
视频 {$MODULE[14][linkur l]}
下载 {$MODULE[15][linkur l]}
发布信息 {$MODULE[2][linkur l]}{$DT[file_m y]}
企业商铺 {$MOD ULE[2][linkur l]}home.php
查看站内信 {$MODULE[2][linkur l]}mes sag e.php
管理买卖交易 {$MODULE[2][linkur l]}trade.php
完善企业资料 {$MODULE[2][linkur l]}edit.php?tab=2
注册 {$MOD[linkur l]} {$DT[file_r egiste r]}
登录 {$MODULE[2][linkur l]}{$DT[file_l ogin]}
找回密码 {$MOD[linkur l]}s end.php
VIP页面 {$MODULE[2][linkur l]}grade.php
WAP浏览 {if extend_setti ng('wap_en able')}<a href="{extend url('wap')}">WAP浏览</a>{/if}RS S订阅 {if extend_setti ng('feed_e nable')} |<a href="{extend url('feed')}">RS S订阅</a>{/if}
本文转自96花木网www 96hm com96花木网www 96hm com
行情速递 {$MODULE[7][linkur l]}{rewrit e('price.php?produc t=all')}
企业新闻 {$MODULE[4][linkur l]}{rewrit e('news.php?more=1')}
公告 {extend url(}
推广 {extend url(}
广告 {extend url('ad')}
友情链接 {extend url('link')}
申请友情链接 {extend url('link')} {rewrit e('index.php?action=reg')}
留言本 {extend url('guestb ook')}
投票 {extend url(}
这些链接地址也挺方便的用的时候直接拿来就行。
3.首页调用
导航菜单
<ul>
<li{if$module id<4} class="menuon"{/if}><a href="{DT_PAT H}"><span>首页</span></a></li>{loop$MODULE$m}
{if$m[is m enu]}
<li{if $m[module id]==$module id} c las s="menuon"{/if}><a href ="{$m[linkur l]}"{if$m[is blank]} target="_blank"{/if}><span{if $m[s tyle]}style="c olor:{$m[style]};"{/if}>{$m[name]}</span></a></li>
{/if}
{/loop}
</ul>
调用登录模块
{if$DT[page_login]}
{template'us er', 'chip'}
{/if}
调用分类模块
{p hp$m id=5;}
{template'c atalog', 'chip'}
4.各个模块数据的调用
供应
最新供应信息
1.<!--{tag("module id=5&c ondition=status=3&length=34&c ondit ion=status=3&pagesize=5&order=addtim e desc&template=list-trade")}-->
2.<!--{php
$tags=tag("module id=5&c ondit ion=status=3&length=34&c ondit ion=status=3&pagesize=5&order=addtime des c&template=null");}-->
{loop $tags $k $t} 本文转自 96花木网www 96hm com96花木网www 96hm com
<li><span class="f_r">[{area_pos($t[areaid], ' /', 1)}]</span><a href ="{$t[linkurl]}"target="_blank" title="{$t[alt]}">{$t[title]}</a></li>
{/loop}
标签调用理论上需要网站管理人员有一定的HTML+CSS知识并对PHP+MySQL有初步的了解。
调用过程实际是按照调用条件从数据表读取调用数量条数据并依排序方式排序最终通过标签模板的布局输出数据。
函数原型tag($parame ter, $expire s=0) $parame ter表示传递给t ag函数的字符串系统自动将其转换为多个变量例如传递table=destoo n&pagesi ze=10系统相当于得到$table =
‘destoo n’ $pagesi ze=10
两个变量$expire s表示缓存过期时间>0缓存$expire s秒 0–系统默认时间 -1–不缓存 -2–缓存SQL一般情况保持默认即可。
变量$tags以数组类型保存标签调用的数据可通过loo p语法遍历显示。
$p ag e s保存数据分页代码仅在调用了分页时有效。 $path模块路径。 常用字段title标题 linkur l链接 catid分类ID introd uce简介addtim e添加时间
常用函数dsub s t r($string, $length, $suffix = ” )将字符串$s tring截取为$length长,尾部追加$suffix(例如..)set_st yle($string, $style = ” , $tag = ‘span’ )将字符串$string置于$tagHTM L标签中并设置style为$style linkur l($linkur l, $absurl =0)将相对路径$linkur l修补为绝对路径(防止链接错误)date($format ,$timest amp)将时间戳$timest amp转化为$format (例如Y-m-d)格式
标签模板模板保存于./templa te/defaul t/tag/目录 建议不要删除或者修改自带的模板推荐在自带模板基础上新建模板并应用。有时候难免会出现系统自带模版不能满足需求的情况这时候你可以在此目录下新建一个模版文件然后按照自己的需求写出自 己的模板。destoo n显示地区
显示地区
需要的函数是includ e/module.func.php/get_ma inarea($areaid,$area);php页面 $AREA=c ac he_read( ‘area.php’ ); //读取缓存文件
静态页面调用 <table width=” 100%” cellp a dding=” 3″>
{php$mainarea=get_mainarea(0, $AREA)}
{loop$mainar ea$k$v}
{if$k%2==0}<tr>{/if}
<td><ahref=”{$MOD[linkur l]} {rew rite(„s earc h.php?areaid=‟ .$v['areaid']. ‟&typ eid=‟ .$typ eid)}”>{$v[areaname]}</a></td>
{if$k%2==1}</tr>{/if}
{/loop}
</table>
还有一种方法就是直接标签调用 不错的直接从des toon数据库里取出信息
调用分页
分页标签 本文转自96花木网www 96hm com96花木网www 96hm com
<!–{tag(“moduleid=$module id&c=3
$dtype&c atid=$c atid&pages ize=4&page=$page&s howpage=1&datetype=5&order=”.$MOD[order].”&template=list-s ell”)}–>
分页 {if$showpa ge&&$pages}<div class=” pages”>{$pages}</div>{/if}
调用分类
主要方法
$mainc at=get_mainc at(0, $CATEGO RY);get_ma incat(0,$CATEGO RY)——在inclu de/global_func.php中
$childc at=get_ma incat(0,$CATEGO RY, 1);—调用超级栏目下的1级目录
0代表最最根目录1代表level为1的目录level手动设置默认都为1
如果0改为3则为catid为3的目录
小注意 $CATEGO RY=cache_read( ‘catego ry-’ .$module id. ’ .php’ );此文件在模块页的common.in c.p hp页面中
调用
{loop$mainc at$k$v}
{if$k%$DT[page_subc at]==0}<tr>{/if}
<td>
<a href =”{$MOD[linkurl]} {$v[linkur l]}”>{s et_style($v[c atname],$v[style])}</a><span>({$ITEMS[$v[c atid]]})</span>
</td>
{if$k%$D T[p ag e_sub c at]==($D T[p ag e_sub c at]-1)}</tr>{/if}
{/loop}
注意
在其模块module文件夹下的php页面里必须有$mainc a t
$MOD[linkur l]是模块也首页地址$v[linkur l]其下列表页加c atid
什么是标签调用
标签调用是根据调用条件(condit ion)从数据表(table)读取调用数量(pagesi ze)条数据并按排序方式(order)排序最终通过标签模板的布局输出数据。
可以看出标签的工作分两个部分一是读取数据二是显示数据。
标签函数原型
标签函数保存于inc lud e/tag.func.phptag($parameter, $expire s=0)
$parame ter表示传递给t ag函数的字符串系统自动将其转换为多个变量
例如传递table=destoo n&pagesi ze=10&hello=world
系统相当于得到
$table=„destoon‟ ;
$pagesize=10;
$hello=„world‟ ;
三个变量
$expire s表示标签缓存过期时间
>0缓存$expire s秒 0–系统默认标签缓存时间 -1–不缓存 -2–缓存SQL结果
一般情况保持默认不需要传递。 本文转自96花木网www 96hm com96花木网www 96hm com
数据读取过程
例如以下标签
<!–{tag(“table=s ell&c=3&order=addtime desc&pagesize=10″)}–>会被转换为如下的SQL语句
S ELECT*
FROM destoon_sell
WHERE status=3
ORDER BY addtim e DESC
LIMIT 0,10
读出的数据会保存在$tags数组里
数据显示过程
1、通过标签模板显示
传递&templa te=abc给标签函数例如
<!–{tag(“table=…&template=abc”)}–>
默认的标签模板保存在模板 目录/tag/目录里 例如&templa te=abc将调用 模板目录/tag/ab c.htm模板来显示数据
如果标签模板放于其他目录例如def则传递&dir=def&templa te=abc系统将调用模板目录/def/abc.htm模板
2、直接在模板里循环数据
<!–{php$tags=tag(“table=…&template=null”);}–>
此写法传递标签模板为nu ll并且直接返回数据给$tags数组此时可以直接在模板里循环了
以下为一个完整的示例
<!–{php$tags=tag(“table=…&template=null”);}–>
{loop$tags $t}
…
{/loop>
第一种写法一般用于多次调用的数据第二种写法一般用于只调用一次的数据。
常用参数及含义moduleidmodule id指模块I D可在后台模块管理里查询。对于直接调用模块的数据设置正确的模块ID后将不需要传递table参数系统会自动获取。
例如传递mo duleid=5系统将识别为调用供应信息 自动设置ta ble参数为selltabletable指表名可在后台数据库维护里查询。对于Dest oon系统表不需要加表的前缀对于非Des toon系统表需要填写完整的表名且传递pre fix参数
例如对于De stoon系统表传递tabl e=sell如果表前缀为destoo n_系统将识别表名为destoo n_sell
对于非Des toon系统表传递tabl e=tb_abc&prefix=或者tabl e=abc&prefix=tb_系统将识别表名为tb_abcfieldsfie lds指查询的字段默认为*。可以传递例如 fields=title,addtim e但是一般情况下无需传递 Destoo n独有的标签缓存机制会自动缓存查询结果不必担心效率问题。
Condit ion 本文转自96花木网www 96hm com96花木网www 96hm com
condit ion指查询的条件如果不传递则为1代表任意条件的数据(此项需了解S QL语法)。Destoo n所有模块遵循统一标准开发所以很多条件是通用的。
例如status=3表示正常通过的信息、 status=3 and level=1表示级别为1的信息、 status=3 andthumb<>”表示有标题图片的信息等。orderorder指数据的排序方法(此项需了解S QL语法)。
例如orde r=addtim e desc表示按添加时间降序排列、 order=itemid desc表示按itemi d降序排列、 order=rand()表示随机数据等。pagesizepagesi ze指调用数据的数量如果不传递默认为10。templatetempla te指指定的标签模板如果不传递默认为lis t位于模板目录/tag/list.htm如果传递为null表示不应用标签模板。参见上述数据显示过程。
其他常见用法举例
控制标题长度
在标签里传递length参数例如&length=20表示20个字符长度(GBK一个汉字占2个字符UTF-8一个汉字占3个字符)一般情况建议用css隐藏多余字符(定义heig ht和overflow:hidden)
传递leng th参数系统仅对ti tle字段自动截取如果需要截取其他字段可用dsub str函数例如{dsubst r($t[compan y],20, ‘…’ )}表示截取co mpany字段为20个字符截取后结尾追加…
设置日期显示格式
可以在标签里传递date type参数
1表示年
2表示月-日
3表示年-月-日
4表示月-日时:分
5表示年-月-日时:分
6表示年-月-日时:分:秒
也可以在模板里直接使用d ate函数例如{date( ‘Y-m-d’ , $t[addtim e])}表示将时间转换为年-月-日格式
调用某一分类的信息
在标签里传递catid参数例如&c atid=5表示调用分类ID为5的所有信息。
如果调用多个分类用逗号分隔分类ID例如&c atid=5,6,7表示调用分类ID为5、 6、 7的所有信息。
分类调用默认包含子分类的信息如果不需要包含子分类可设置&child=0参数。例如&c atid=5&child=0表示只调用分类ID为5的信息不包括子分类的信息。
调用某一地区的信息
调用地区信息和上述调用分类信息的方法完全相同将其中的catid换为a reaid即可。显示信息所在分类
<ahref=”{$MODULE[$module id][linkur l]} {$CATEGO RY[$t[c atid]][linkur l]}”>{$CATEGO RY[$t[c atid]][c atname]}</a>
控制列数 本文转自96花木网www 96hm com96花木网www 96hm com
此项常用于图片的布局可使用col s参数。
例如调用12张图片一行显示4个共3行则传递&pagesi ze=12&cols=4
支持c ols参数的标签模板限thum b-table.htm和li st-table.htm
其中 thumb-tab le.htm显示图片列表 lis t-tab le.htm显示文字列表
如果新建支持cols的标签模板或直接循环$tags可参考以上两个模板的写法
上述效果可以也可以通过CSS实现无需使用表格请自行书写
显示文章的简介
使用{$t[introd uce]}变量如果要截取字数例如80字符可使用{dsubst r($t[introd uce], 80,
‘…’ )}
标签看似复杂难懂实际上在理解各个参数的含义和调用流程后您会了解到标签实际简单自 由、灵活易用、功能强大。
默认模板里已提供了大量的调用范例和标签模板可以在学习中参阅和调试。
标签调用是制作模板必备的知识希望您能早日掌握。
三、第三方支付接口文件/api
Destoon里面有一个很重要的板块就是商城板块。有商城就会有交易而有交易就必须要有一个第三方支付平台 比如支付宝、财付通、 网银等等平台。我们就以支付宝为例你首先需要向支付宝申请一个接口关于怎么申请支付宝接口百度文库里有一篇文章写得很清楚http://w enku.baidu.c om/view/114ed5f8700abb68 a982 fb 54.html大家可以去看看。有了支付宝接口我们就可以在我们的网站后台设置了。在后台会员管理/模块设置里面选择支付宝
有了接口以后这些内容可以设置好了然后就可以用了。这里有一个文档专门讲在线支付96花木网www 96hm com
LetBox此次促销依然是AMD Ryzen处理器+NVME硬盘+HDD大硬盘,以前是5TB月流量,现在免费升级到10TB月流量。另外还有返余额的活动,如果月付,月付多少返多少;如果季付或者半年付,返25%;如果年付,返10%。依然全部KVM虚拟化,可自定义ISO系统。需要大硬盘vps、大流量vps、便宜AMD VPS的朋友不要错过了。不过LetBox对帐号审核严格,最好注册邮箱和paypal帐号...
搬瓦工在国内非常流行的主机商,以提供低价的vps著称.不过近几年价格逐渐攀升.不过稳定性和速度一向不错.依然深受国内vps爱好者喜爱.新上线的套餐经常卖到断货.支持支付宝,paypal很方便购买和使用.官网网站:https://www.bandwagonhost.com[不能直接访问,已墙]https://www.bwh88.net[有些地区不能直接访问]https://www.bwh81.net...
香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...