destoon目錄結(jié)構(gòu)、常用常量及橫版標(biāo)簽

一、destoon的目錄結(jié)構(gòu)及一些核心的文件

/admin 系統(tǒng)核心后臺管理 
├ image         后臺風(fēng)格 
├ template      后臺模板 

/api 系統(tǒng)及第三方接口
├ kf            在線客服 
├ map           電子地圖 
├ oauth         一鍵登錄 
├ pay           支付接口 
├ stats         第三方統(tǒng)計 
├ trade         擔(dān)保交易 
├ ucenter       UCenter 

/file
├ backup     數(shù)據(jù)庫備份 
├ cache      緩存 
├ captcha    驗證碼字體 
├ chat       聊天記錄 
├ config     配置 
├ data       導(dǎo)數(shù)據(jù)導(dǎo)入 
├ email      郵件列表 
├ flash      Flash文件 
├ font       中文字體 
├ image      公用圖片 
├ ipdata     IP數(shù)據(jù)庫 
├ log        日志 
├ md5        MD5鏡像 
├ mobile     手機(jī)列表 
├ script     javascript 
├ session    SESSION 
├ setting    配置數(shù)據(jù) 
├ temp       臨時目錄 
├ update     系統(tǒng)更新 
├ upload     上傳文件 

/include   核心類庫

/install   安裝程序

/lang      語言包

/module    功能模塊
├ article                  文章模塊 
├article/admin             文章管理 
├article/admin/template    文章管理模板
├article/common.inc.php    文章模塊初始化
├article/global.func.php   文章核心函數(shù)
├article/article.class.php 文章核心類
├article/index.inc.php     文章首頁
├article/index.htm.php     靜態(tài)文章首頁
├article/list.inc.php      文章列表頁
├ article/list.htm.php     靜態(tài)文章列表頁 
├article/show.inc.php      文章內(nèi)容頁
├article/show.htm.php      靜態(tài)文章內(nèi)容頁
├article/search.inc.php    文章搜索
├article/task.inc.php      文章計劃任務(wù)

/skin     風(fēng)格皮膚
├ default          默認(rèn)風(fēng)格 
├default/image     圖片文件 
├default/style.css CSS文件

/template 模板文件
├ default          默認(rèn)模板 
├default/index.htm 首頁模板

/upgrade         系統(tǒng)升級

/admin.php       后臺入口

/common.inc.php  系統(tǒng)初始化 

/config.inc.php  系統(tǒng)配置 

/index.html      靜態(tài)首頁

/index.php       動態(tài)首頁

/version.inc.php 版本控制

Destoon也算是mvc框架吧,舉個例子

根目錄下的文件夾/company里面的文件是MVC中的C,它控制對應(yīng)module/company中的文件也就是我們說的M,最后我們通過V也是就是tempalte/default/company對應(yīng)的文件來顯示我們的界面,整個流程基本就是這樣的。只要把這個流程弄清楚了,其他的就是寫代碼編程序的問題了。

二、主要的橫版模板及調(diào)用方法

1.全局標(biāo)簽

網(wǎng)站名稱:{$DT[sitename]}
網(wǎng)站地址:{DT_PATH}
網(wǎng)站LOGO:{if$MODULE[$moduleid][logo]}{DT_SKIN}image/logo_{$moduleid}.gif
          {elseif $DT[logo]}{$DT[logo]}{else}{DT_SKIN}image/logo.gif{/if}
版權(quán)信息:{$DT[copyright]}
風(fēng)格路徑:{DT_PATH}
客服電話:{$DT[telephone]} 
ICP備案號:{if $DT[icpno]}<a 
          target="_blank">{$DT[icpno]}</a> ┊ {/if}
VIP會員名稱:{VIP}
真實貨幣名稱:{$DT[money_name]}
真實貨幣單位:{$DT[money_unit]}
虛擬積分名稱:{$DT[credit_name]}
虛擬積分單位:{$DT[credit_unit]}
Title(網(wǎng)站標(biāo)題):{$seo_title}
Meta Keywords(網(wǎng)頁關(guān)鍵詞):{$head_keywords}
Meta Description(網(wǎng)頁描述):{$head_description}

這些全局標(biāo)簽是隨時拿出來都可以用的,不僅是在php文件中,在htm文件中也都是可以拿來用的,所以為了快速的、簡潔的寫代碼,這些全局變量我們一定要熟識。

2.連接地址

默認(rèn)各個模塊連接:

會員:{$MODULE[2][linkurl]}   
供應(yīng):{$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]}

發(fā)布信息:{$MODULE[2][linkurl]}{$DT[file_my]}
企業(yè)商鋪:{$MODULE[2][linkurl]}home.php
查看站內(nèi)信:{$MODULE[2][linkurl]}message.php
管理買賣交易:{$MODULE[2][linkurl]}trade.php
完善企業(yè)資料:{$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')} <a href="{extendurl('wap')}">WAP瀏覽</a>{/if}
RSS訂閱:{if extend_setting('feed_enable')} | <a href="{extendurl('feed')}">RSS訂閱</a>{/if}

行情速遞:{$MODULE[7][linkurl]}{rewrite('price.php?product=all')}
企業(yè)新聞:{$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.首頁調(diào)用

導(dǎo)航菜單:

<ul>
<li{if $moduleid<4} class="menuon"{/if}>
    <a href="{DT_PATH}">
        <span>首頁</span>
    </a>
</li>
{loop $MODULE $m}
  {if $m[ismenu]}
    <li{if $m[moduleid]==$moduleid} class="menuon"{/if}>
       <a href="{$m[linkurl]}"{if $m[isblank]} target="_blank"{/if}>
            <span{if $m[style]} style="color:{$m[style]};"{/if}>
            {$m[name]}
            </span>
       </a>
    </li>
  {/if}
{/loop}
</ul>

調(diào)用登錄模塊:

  {if $DT[page_login]}
  {template 'user', 'chip'}
  {/if}

調(diào)用分類模塊:

   {php $mid = 5;}
   {template 'catalog', 'chip'}

4.各個模塊數(shù)據(jù)的調(diào)用

供應(yīng):
最新供應(yīng)信息:

1.<!--{tag("moduleid=5&condition=status=3
&length=34&condition=status=3&pagesize=5
&order=addtime desc&template=list-trade")}-->

2.<!--{php $tags=tag("moduleid=5&condition=status=3
&length=34&condition=status=3&pagesize=5
&order=addtime desc&template=null");}-->
{loop $tags $k $t}                                  
<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}

標(biāo)簽調(diào)用理論上需要網(wǎng)站管理人員有一定的HTML+CSS知識,并對PHP+MySQL有初步的了解。
調(diào)用過程實際是按照調(diào)用條件從數(shù)據(jù)表讀取調(diào)用數(shù)量條數(shù)據(jù),并依排序方式排序,最終通過標(biāo)簽?zāi)0宓牟季州敵鰯?shù)據(jù)。
函數(shù)原型:tag($parameter, $expires = 0) ,$parameter 表示傳遞給tag函數(shù)的字符串,系統(tǒng)自動將其轉(zhuǎn)換為多個變量 例如傳遞 table=destoon&pagesize=10,系統(tǒng)相當(dāng)于得到$table = ‘destoon’$pagesize = 10;
兩個變量 $expires 表示緩存過期時間。
>0 :緩存$expires秒;

0 :系統(tǒng)默認(rèn)時間;
-1 :不緩存;
-2 :緩存SQL;
一般情況保持默認(rèn)即可。
變量 $tags 以數(shù)組類型保存標(biāo)簽調(diào)用的數(shù)據(jù),可通過loop語法遍歷顯示。
$pages 保存數(shù)據(jù)分頁代碼,僅在調(diào)用了分頁時有效。$path 模塊路徑。
常用字段:title 標(biāo)題;linkurl 鏈接; catid 分類ID;introduce 簡介;addtime 添加時間;
常用函數(shù):dsubstr($string, $length, $suffix = ”)將字符串$string截取為$length長,尾部追加$suffix(例如..)
set_style($string, $style = ”, $tag = ‘span’) 將字符串$string置于$tagHTML標(biāo)簽中并設(shè)置style為$style
linkurl($linkurl, $absurl =0)將相對路徑$linkurl修補(bǔ)為絕對路徑(防止鏈接錯誤)
date($format, $timestamp)將時間戳$timestamp轉(zhuǎn)化為$format(例如Y-m-d)格式標(biāo)簽
模板: 模板保存于./template/default/tag/目錄;建議不要刪除或者修改自帶的模板,推薦在自帶模板基礎(chǔ)上新建模板并應(yīng)用。有時候難免會出現(xiàn)系統(tǒng)自帶模版不能滿足需求的情況,這時候你可以在此目錄下新建一個模版文件,然后按照自己的需求寫出自己的模板。

destoon顯示地區(qū)

顯示地區(qū):
需要的函數(shù)是
include/module.func.php/get_mainarea($areaid, $area);
php頁面:$AREA=cache_read(‘a(chǎn)rea.php’);//讀取緩存文件
靜態(tài)頁面調(diào)用:

<table width=”100%” cellpadding=”3″>
{php $mainarea = get_mainarea(0, $AREA)}
{loop $mainarea $k $v}
{if $k%2==0}<tr>{/if}
<td>
    <a href=”{$MOD[linkurl]}
      {rewrite(‘search.php?areaid=’.$v['areaid'].’&typeid=’.$typeid)}”>{$v[areaname]}
    </a>
</td>
{if $k%2==1}</tr>{/if}
{/loop}
</table>
destoon調(diào)用分頁

分頁標(biāo)簽

<!{tag(“moduleid=$moduleid&c=3$dtype&catid=$catid&pagesize=4&page=$page
&showpage=1&datetype=5&order=”.$MOD[order].”&template=list-sell”)}>
# 分頁:
{if $showpage && $pages}
    <div class=”pages”>{$pages}
    </div>
{/if}

destoon調(diào)用分類
$maincat = get_maincat(0, $CATEGORY);

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

$childcat = get_maincat(0, $CATEGORY, 1);//— 調(diào)用超級欄目下的1級目錄

0 代表最最根目錄 1代表 level為1的目錄level 手動設(shè)置 默認(rèn)都為1
如果0改為3 則為catid 為3 的目錄

小注意:
$CATEGORY= cache_read(‘category-’.$moduleid.’.php’);
此文件在模塊頁的common.inc.php頁面中

調(diào)用
{loop $maincat $k $v}
{if $k%$DT[page_subcat]==0}<tr>{/if}
<td>
<a
href=”{$MOD[linkurl]}{$v[linkurl]}”>{set_style($v[catname],$v[style])}</a>
<span>({$ITEMS[$v[catid]]})</span>
</td>
{if $k%$DT[page_subcat]==($DT[page_subcat]-1)}</tr>{/if}
{/loop}

注意:
在其模塊 module 文件夾下的 php頁面里必須有 $maincat
$MOD[linkurl] 是模塊也首頁地址 $v[linkurl]其下列表頁 加catid
標(biāo)簽調(diào)用

標(biāo)簽調(diào)用是根據(jù)調(diào)用條件(condition)從數(shù)據(jù)表(table)讀取調(diào)用數(shù)量(pagesize)條數(shù)據(jù),并按排序方式(order)排序,最終通過標(biāo)簽?zāi)0宓牟季州敵鰯?shù)據(jù)。
可以看出,標(biāo)簽的工作分兩個部分,一是讀取數(shù)據(jù),二是顯示數(shù)據(jù)。
標(biāo)簽函數(shù)原型
標(biāo)簽函數(shù)保存于 include/tag.func.php
tag($parameter, $expires = 0)
$parameter 表示傳遞給tag函數(shù)的字符串,系統(tǒng)自動將其轉(zhuǎn)換為多個變量
例如傳遞 table=destoon&pagesize=10&hello=world
系統(tǒng)相當(dāng)于得到
$table = ‘destoon’; $pagesize = 10; $hello = ‘world’;
三個變量。

數(shù)據(jù)讀取過程

例如以下標(biāo)簽:

<! {tag(“table=sell&c=3&order=addtime desc&pagesize=10″)} ;>

會被轉(zhuǎn)換為如下的SQL語句:

SELECT *
FROM destoon_sell
WHERE status=3
ORDER BY addtime DESC
LIMIT 0,10

讀出的數(shù)據(jù)會保存在 $tags 數(shù)組里

數(shù)據(jù)顯示過程

1、通過標(biāo)簽?zāi)0屣@示
傳遞&template=abc給標(biāo)簽函數(shù),例如:
<! {tag(“table=…&template=abc”)} >
默認(rèn)的標(biāo)簽?zāi)0灞4嬖谀0迥夸?tag/目錄里,例如&template=abc將調(diào)用模板目錄/tag/abc.htm模板來顯示數(shù)據(jù),如果標(biāo)簽?zāi)0宸庞谄渌夸洠?code>def,則傳遞&dir=def&template=abc,系統(tǒng)將調(diào)用模板目錄/def/abc.htm模板
2、直接在模板里循環(huán)數(shù)據(jù)
<! {php $tags=tag(“table=…&template=null”);} >
此寫法傳遞標(biāo)簽?zāi)0鍨閚ull,并且直接返回數(shù)據(jù)給$tags數(shù)組,此時可以直接在模板里循環(huán)了
以下為一個完整的示例:

<! {php $tags=tag(“table=…&template=null”);} >
{loop $tags $t}
…
{/loop>

第一種寫法一般用于多次調(diào)用的數(shù)據(jù),第二種寫法一般用于只調(diào)用一次的數(shù)據(jù)。

常用參數(shù)及含義
moduleid指模塊ID,可在后臺模塊管理里查詢。對于直接調(diào)用模塊的數(shù)據(jù),設(shè)置正確的模塊ID后,將不需要傳遞table參數(shù),系統(tǒng)會自動獲取。
例如傳遞moduleid=5,系統(tǒng)將識別為調(diào)用供應(yīng)信息,自動設(shè)置table參數(shù)為sell

table指表名,可在后臺數(shù)據(jù)庫維護(hù)里查詢。對于Destoon系統(tǒng)表,不需要加表的前綴;對于非Destoon系統(tǒng)表,需要填寫完整的表名,且傳遞prefix參數(shù)
例如對于Destoon系統(tǒng)表,傳遞table=sell,如果表前綴為destoon_,系統(tǒng)將識別表名為 destoon_sell
對于非Destoon系統(tǒng)表,傳遞table=tb_abc&prefix=或者table=abc&prefix=tb_,系統(tǒng)將識別表名為 tb_abc

fields指查詢的字段,默認(rèn)為*。可以傳遞例如 fields=title,addtime,但是一般情況下無需傳遞,Destoon獨(dú)有的標(biāo)簽緩存機(jī)制會自動緩存查詢結(jié)果,不必?fù)?dān)心效率問題。

condition指查詢的條件,如果不傳遞,則為1,代表任意條件的數(shù)據(jù)(此項需了解SQL語法)。Destoon所有模塊遵循統(tǒng)一標(biāo)準(zhǔn)開發(fā),所以很多條件是通用的。
例如 status=3表示正常通過的信息、status=3 and level=1表示級別為1的信息、status=3 and thumb<>”表示有標(biāo)題圖片的信息等。

order指數(shù)據(jù)的排序方法(此項需了解SQL語法)。
例如order=addtime desc表示按添加時間降序排列、order=itemid desc表示按itemid降序排列、order=rand()表示隨機(jī)數(shù)據(jù)等。

pagesize指調(diào)用數(shù)據(jù)的數(shù)量,如果不傳遞,默認(rèn)為10。

template指指定的標(biāo)簽?zāi)0?,如果不傳遞,默認(rèn)為list,位于模板目錄/tag/list.htm,如果傳遞為null,表示不應(yīng)用標(biāo)簽?zāi)0濉⒁娚鲜鰯?shù)據(jù)顯示過程。

其他常見用法舉例

控制標(biāo)題長度
在標(biāo)簽里傳遞length參數(shù),例如&length=20表示20個字符長度(GBK一個漢字占2個字符,UTF-8一個漢字占3個字符),一般情況建議用css隱藏多余字符(定義height和overflow:hidden)
傳遞length參數(shù),系統(tǒng)僅對title字段自動截取,如果需要截取其他字段,可用dsubstr函數(shù)
例如 {dsubstr($t[company], 20, ‘…’)} 表示截取company字段為20個字符,截取后,結(jié)尾追加…

設(shè)置日期顯示格式

可以在標(biāo)簽里傳遞datetype參數(shù):
1 表示年;
2 表示月-日;
3 表示年-月-日;
4 表示月-日 時:分;
5 表示年-月-日 時:分;
6 表示年-月-日 時:分:秒

也可以在模板里直接使用date函數(shù),例如{date(‘Y-m-d’, $t[addtime])}
表示將時間轉(zhuǎn)換為 年-月-日 格式

調(diào)用某一分類的信息
在標(biāo)簽里傳遞catid參數(shù),例如&catid=5表示調(diào)用分類ID為5的所有信息。

如果調(diào)用多個分類,用逗號分隔分類ID,例如
&catid=5,6,7表示調(diào)用分類ID為5、6、7的所有信息。

分類調(diào)用默認(rèn)包含子分類的信息,如果不需要包含子分類,可設(shè)置&child=0參數(shù)。
例如&catid=5&child=0表示只調(diào)用分類ID為5的信息,不包括子分類的信息。

調(diào)用某一地區(qū)的信息
調(diào)用地區(qū)信息和上述調(diào)用分類信息的方法完全相同,將其中的catid換為areaid即可。

顯示信息所在分類
<a
href=”{$MODULE[$moduleid][linkurl]}{$CATEGORY[$t[catid]][linkurl]}”>{$CATEGORY[$t[catid]][catname]}</a>

控制列數(shù)
此項常用于圖片的布局,可使用cols參數(shù)。
例如調(diào)用12張圖片,一行顯示4個,共3行,則傳遞&pagesize=12&cols=4

支持cols參數(shù)的標(biāo)簽?zāi)0逑辴humb-table.htm和list-table.htm
其中,thumb-table.htm顯示圖片列表,list-table.htm顯示文字列表

如果新建支持cols的標(biāo)簽?zāi)0寤蛑苯友h(huán)$tags,可參考以上兩個模板的寫法
上述效果可以也可以通過CSS實現(xiàn),無需使用表格,請自行書寫

顯示文章的簡介
使用{$t[introduce]}變量,如果要截取字?jǐn)?shù),例如80字符,可使用{dsubstr($t[introduce], 80, ‘…’)}
標(biāo)簽看似復(fù)雜難懂,實際上在理解各個參數(shù)的含義和調(diào)用流程后,您會了解到標(biāo)簽實際簡單自由、靈活易用、功能強(qiáng)大。
默認(rèn)模板里已提供了大量的調(diào)用范例和標(biāo)簽?zāi)0澹梢栽趯W(xué)習(xí)中參閱和調(diào)試。

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

Destoon里面有一個很重要的板塊,就是商城板塊。有商城就會有交易,而有交易就必須要有一個第三方支付平臺,比如支付寶、財付通、網(wǎng)銀等等平臺。我們就以支付寶為例,你首先需要向支付寶申請一個接口,關(guān)于怎么申請支付寶接口百度文庫里有一篇文章寫得很清楚點(diǎn)這里看文章。有了支付寶接口我們就可以在我們的網(wǎng)站后臺設(shè)置了。在后臺會員管理/模塊設(shè)置里面選擇支付寶。

有一個文檔專門講在線支付配置的可以去看看點(diǎn)這里。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • DestoonB2B標(biāo)簽調(diào)用手冊什么是標(biāo)簽調(diào)用?標(biāo)簽調(diào)用是根據(jù)調(diào)用條件(condition)從數(shù)據(jù)表(table)...
    jianghu000閱讀 730評論 0 3
  • 一、destoon的目錄結(jié)構(gòu)及一些核心的文件 Destoon也算是mvc框架吧,舉個例子 根目錄下的文件夾/com...
    layjoy閱讀 3,005評論 0 3
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,525評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,633評論 18 399
  • 夜這樣的深 一絲絲眼淚 趁青春還沒有走完 感受晚秋的風(fēng) 歲月的余溫 一對對寂寞的靈魂 燭光爐火旁 誰給誰溫暖 我不...
    皆非_lx閱讀 189評論 0 0

友情鏈接更多精彩內(nèi)容