天天看點

destoon

1.今天有幸接觸到destoon 這個B2B系統,深感榮幸,因為系統開發的很好,是以感到無比的親切。

好了廢話不多說了,看看今天的工作任務吧!

    我們看看系統的結構目錄吧檔案夾太多,一時半會也摸不到邊,那麼最好的方法就是查找一下手冊,http://help.destoon.com/book/ 網址,從網址中找到了 系統目錄結構,admin 是系統背景。 api 是系統的第三方接口;file目錄是外部檔案存放目錄 圖檔 緩存資料備份 聊天記錄等的存放地。include 是核心類包含目錄 install 不需要多說,安裝。lang 語言包 module 是子產品功能更子產品。skin是皮膚 template 是模闆檔案 是不是目錄也很清晰。當然還有一些其他的目錄主要是針對某項功能的控制器。

今天任務: 

        1學會利用模闆

        2. 制作一套模闆檔案

模闆制作的學習從本質上講我認為可以這樣來分析,第一懂得這個系統是怎麼開發的,如果使用mvc架構那麼那麼他的模闆呈現方式是否具有某個函數來顯示,

第二 模闆标簽定義是由哪裡來定義的。

第三,模闆中的各個檔案是怎樣引入的。

第四,模闆檔案中 顯示的資料 怎樣顯示。

  好我們來具體分析一下:

      打開我們的網站目錄,找到template 檔案夾 裡面有三項,index.html  these.name.php /default/

還有一個是skin檔案夾似乎跟模闆也有關系。打開之後 也是這三項 目錄default 裡面存放的就不一樣了

template 中存放的一看就知道是模闆檔案 skin中存放的都是css檔案 似乎我們可以找到某種聯系了皮膚就是css控制的樣式,而template 才是真正的模闆。

那麼我們打開 模闆中的 header.htm 看看究竟

{if $head_keywords}

{/if}

{if $head_description}

{/if}

{if $head_canonical}

{/if}

{if $moduleid>4}{/if}

{if $CSS}

{loop $CSS $css} 

{/loop}

{/if}

{if !DT_DEBUG}

{if $itemid && $DT[anticopy]}

{/if}

                  | 加入桌面

                  {if $EXT[wap_enable]} | 手機版{/if}

                  {if $EXT[archiver_enable]} | 無圖版{/if}

                  {if $DT[city]} | [ {$city_name}] 切換{/if}

      {php $searchid = ($moduleid > 3 && $MODULE[$moduleid]['ismenu'] && !$MODULE[$moduleid]['islink']) ? $moduleid : 5;}

      {php $searchids = array(5,16,6,4,21,22);}

      {if !in_array($searchid, $searchids)}

            {php $searchids[] = $searchid;}

      {/if}

  •             {loop $searchids $s}

                {if isset($MODULE[$s])}

  • {$MODULE[$s][name]}
  • {/if}

                {/loop}

      進階搜尋

      标王直達

        排名推廣

        釋出資訊

        會員中心

  • <4} class="menuon"{/if}>首頁
  • {loop $MODULE $m}{if $m[ismenu]}
  • {$m[name]}
  • {/if}{/loop}

二、模闆文法

1、包含模闆 {template 'header'} 或 {template 'header', 'member'}

{template 'header'} 被解析為

<?php include template('header');?>

表示使用 template/default/header.htm 模闆檔案

{template 'header', 'member'}

被解析為 <?php include template('header', 'member');?>

表示使用 template/default/header.htm 模闆檔案

2、變量或常量表示

變量 {$destoon} 被解析為 <?php echo $destoon;?>

常量 {DESTOON} 被解析為 <?php echo DESTOON;?>

對于數組,标準寫法應為 例如 {$destoon['index']},可簡寫為 {$destoon[index]},模闆在解析時會自動追加引号。

3、函數 {func_name($par1, $par2)}

{func_name($par1, $par2)} 被解析為

<?php func_name($par1, $par2);?>

4、PHP表達式 {php expression}

{php expression} 被解析為 <?php expression ?>

5、條件語句 {if $a=='b'} do A {/if} 或 {if $a=='b'} do A {else} do B {/if} 或 {if $a=='b'} do A {elseif $b=='c'} do C {else} do B {/if}

{if $a=='b'} do A {/if} 被解析為

<?php if($a=='b') { do A }?>

{if $a=='b'} do A {else} do B {/if} 被解析為

<?php if($a=='b') { do A } else { do B } ?>

{if $a=='b'} do A {elseif $b=='c'} do C {else} do B {/if} 被解析為

<?php if($a=='b') { do A } else if($b=='c') { do C } else { do B } ?>

6、LOOP循環 {loop $var $v}...{loop} 或

{loop $var $k $v}...{loop}

{loop $var $v}...{loop} 被解析為

<?php if(is_array($var)) { foreach($var as $v) { ... } }?>

{loop $var $k $v}...{loop} 被解析為

<?php if(is_array($var)) { foreach($var as $k=>$v) { ... } }?>

三、特殊用法

1、變量或表達式可以用HTML注釋,例如 <!--{$destoon}--> 仍被解析為 <?php echo $destoon; ?> (可自動過濾此類注釋)

2、可直接在模闆裡書寫PHP代碼,直接書寫PHP代碼與 DESTOON 模闆文法是相容的。