• <xmp id="yyyww">
  • 您現在的位置: 首頁 > 新聞 > 建站常識

    DESTOON常用參數調用說明

    來源:網絡公司發布時間:2021-04-14熱度:25859

     近日,公司要用destoon系統進行二次開發b2b平臺。所以,最近在看看destoon一些內置的機制以及標簽的調用。

    之前就知道destoon是做b2b的一款cms,一直沒有實際的操作過,現在剛好有機會接觸,那么下面我就將destoon的tag標簽調用方式給整理分享一下,便于學習和復習。

    什么是標簽調用?

    標簽調用是根據調用條件(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結果;

    一般情況保持默認不需要傳遞。

    數據讀取過程

    例如以下標簽:

    <!--{tag("moduleid=5&condition=status=3&order=addtime desc&pagesize=10")}-->

    會被轉換為如下的SQL語句:

    SELECt *

    FROM destoon_sell

    WHERe status=3

    ORDER BY addtime DESC

    LIMIT 0,10

    讀出的數據會保存在 $tags 數組里

    通常情況下不需要寫table=xxx,應該寫moduleid=模塊ID,系統會自動對應模塊的表

    數據顯示過程

    1、通過標簽模板顯示

    傳遞&template=abc給標簽函數,例如:

    <!--{tag("moduleid=...&template=abc")}-->

    默認的標簽模板保存在模板目錄/tag/目錄里,例如&template=abc將調用模板目錄/tag/abc.htm模板來顯示數據。

    如果標簽模板存放于其他目錄,例如def,則傳遞&dir=def&template=abc,系統將調用模板目錄/def/abc.htm模板。

    2、直接在模板里循環數據

    <!--{php $tags=tag("moduleid=...&template=null");}-->

    此寫法傳遞標簽模板為null,并且直接返回數據給$tags數組,此時可以直接在模板里循環了。

    以下為一個完整的示例:

    <!--{php $tags=tag("moduleid=...&template=null");}-->

    {loop $tags $t}

    ...

    {/loop}

    第一種寫法一般用于多次調用的數據,第二種寫法一般用于只調用一次的數據。

    常用參數及含義

    moduleid

    moduleid指模塊ID,可在后臺模塊管理里查詢。對于直接調用模塊的數據,設置正確的模塊ID后,將不需要傳遞table參數,系統會自動獲取。

    例如傳遞moduleid=5,系統將識別為調用供應信息,自動設置table參數為sell。

    一般情況下,除了擴展模塊里的功能都需要通過moduleid來調用。

    table

    table指表名,可在后臺數據庫維護里查詢。對于Destoon系統表,不需要加表的前綴;對于非Destoon系統表,需要填寫完整的表名,且傳遞prefix參數。

    例如對于Destoon系統表,傳遞table=announce,如果表前綴為destoon_,系統將識別表名為 destoon_announce。

    對于非Destoon系統表,傳遞table=tb_abc&prefix=或者table=abc&prefix=tb_,系統將識別表名為 tb_abc。

    fields

    fields指查詢的字段,默認為*??梢詡鬟f例如 fields=title,addtime,但是一般情況下無需傳遞,Destoon獨有的標簽緩存機制會自動緩存查詢結果,不必擔心效率問題。

    condition

    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,表示不應用標簽模板。參見上述數據顯示過程。

    debug

    debug參數用于調試標簽,例如傳遞&debug=1,系統將輸出標簽構造成的SQL語句,以便驗證標簽寫法是否正確,不需要調試的標簽不用加此參數。

    數據字典

    參考:http://help.destoon.com/dict.php

    其他常見用法舉例

    &和and的區別

    &用來分割參數,and是sql語句where后的讀取條件,二者完全不同。

    多表聯合查詢

    例如查詢會員名為destoon的會員和公司資料,可以使用:

    {tag("table=destoon_member m,destoon_company c&prefix=&condition=m.userid=c.userid and m.username='destoon'&template=list-com")}

    destoon_member和destoon_company是表的實際名稱(包含表前綴),prefix=表示系統不再自動在表名前加前綴。

    通常通過傳遞moduleid可以實現大部分的調用,除非您確認熟悉聯合查詢,否則不推薦使用。

    截至目前,系統默認模板里還沒有一個功能需要用到聯合查詢。

    控制標題長度

    在標簽里傳遞length參數,例如&length=20表示20個字符長度(一個漢字占2個字符),一般情況建議用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])} 表示將時間轉換為 年-月-日 格式

    date函數的使用請參閱PHP手冊。

    調用某一分類的信息

    在標簽里傳遞catid參數,例如&catid=5表示調用分類ID為5的所有信息。

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

    分類調用默認包含子分類的信息,如果不需要包含子分類,可設置&child=0參數。

    例如&catid=5&child=0表示只調用分類ID為5的信息,不包括子分類的信息。

    調用某一地區的信息

    調用地區信息和上述調用分類信息的方法完全相同,將其中的catid換為areaid即可。

    顯示信息所在分類

    <a href="{$MODULE[$moduleid][linkurl]}{$CATEGORY[$t[catid]][linkurl]}">{$CATEGORY[$t[catid]][catname]}</a>

    注意:自V4.0,以上寫法將不可用,需要在標簽里傳遞&showcat=1參數,然后在模板里寫

    <a href="{$t[caturl]}">{$t[catname]}</a>

    控制列數

    此項常用于圖片的布局,可使用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, '...')}

    小結

    上面就是destoon標簽的一些基本的調用方式以及參數??此茝碗s難懂,實際上在理解各個參數的含義和調用流程后,您會了解到標簽實際簡單自由、靈活易用、功能強大。

    默認模板里已提供了大量的調用范例和標簽模板,可以一邊學習一邊查閱,這樣才能更好的理解熟悉destoon系統。

    本文來源:http://www.tonysfp.com/news/show-1639.html
    很大很粗每次都高潮,揉捏花蒂喷水在线视频,无码AV福利久久精品can
  • <xmp id="yyyww">
  • <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链> <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>