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 模闆文法是相容的。