Go Back   歡迎來到 xt:Commerce 漢語支援站 > xt:Commerce 技術文件

Smarty應用簡介

From xt:Commerce 技術文件

  樣版設計指南   搜尋   語言 : 正體中文

 
 

Contents

[edit] xt:Commerce 與 Smarty

Smarty 是以 PHP 語言開發的 編譯式 樣版引擎,它目前也是 PHP 界使用率最高的樣版引擎。

樣版引擎可以將「網頁美編」與「應用程式」作分離,簡單的說就是讓原本交雜著網頁編排、圖片及程式碼的PHP程式,使其分離為不含複雜程式的純HTML網頁及純粹的PHP程式,讓美編人員可以更寫意的發揮創意,同時也讓程式設計人員不用再傷腦筋,該如何將天馬行空的創意加入程式裡。

以下是 Smarty 官方所提到的功能特色:

  • 它非常的快速
  • 它可以讓 PHP解析器 有效率的處理複雜的工作
  • 系統資源不會因為樣版解析的作業而重複虛擲,它只要編譯一次
  • 它非常的聰明,在樣版檔案變更的同時即會重新編譯
  • 你能夠自訂 函數變數 ,因此可以使得 樣版語法 非常具有彈性
  • 配置樣版的 標籤語法 ,你可以使用像 {}, {{}}, <!--{}-->, 等等符號作為區分判斷
  • if / elseif / else / endif 等結構也可以交給 PHP 解析器,所以可以在樣版檔中簡易的使用 {if ...} 等描述
  • 對於嵌套(巢狀)程式片段沒有限制
  • 假設你要嵌入PHP程式碼在你的樣版檔內也是可以的,儘管這不大需要(不建議你這麼作),因為 Smarty 引擎很有彈性了
  • 內建支援緩存(快取)
  • 可任意的製作樣版源碼
  • 可自訂緩存(快取)處理功能
  • 支援插件(外掛)結構

我們總結的來說,它成功的改善及創造了:

  • 可讓美編人員發揮最大的創意在網站的外觀設計上。
  • 降低程式編寫複雜度,讓程式人員可以專心本務。
  • 降低網站建置專案的溝通成本,這裡指的是程式人員與美編人員之間。
  • 降低網站程式升級的成本及技術門檻。
  • 網站可以隨時更換外觀樣版。
  • 其它...

當然 xt:Commerce 核心採用了 Smarty 樣版引擎,這也正是本系統與其它購物車系統不同之處。


[edit] 基本架構及語法

  • 下圖為 Smarty 的基本運作概念

Smarty 基本運作概念

  • xt:Commerce 放置 Smarty 的路徑位置:

/includes/classes/Smarty_2.6.18


[edit] 變數使用

  • xt:Commerce 應用 Smarty 的變數標籤是以 {} 並在名稱前加上$符號來定義

例如:{$info_message}

  • 帶有參數的修飾函式,例:{$products_data.NAME|truncate:20:"...":true}

其函式意義為當商品名稱變數內容超過20個英文字元時,僅截取顯示前20個英文字元並在尾端加上...


[edit] 常數使用

  • xt:Commerce 應用 Smarty 的常數標籤同樣是以 {} 並在名稱前後加上#符號來定義

例如:{#heading_login#}

  • 常數定義多用在語言檔上


[edit] 基本判斷式

  • {if}...{/if},例:
{if $info_message!=''}
     <p class="errormessage">{$info_message}</p>
{/if}
  • {if}...{else}...{/if},例:
{if $empty=='false'}
     <h2 class="boxcartheader">{#heading_cart#}</h2>
{else}
     <p>{#text_empty_cart#}</p>
{/if}


[edit] 迴圈語法

  • foreach基本語法
{foreach name=foreach名稱 item=陣列元素名稱 from=$陣列變數}
     ...
{/foreach}
  • xt:Commerce 實例:
{foreach name=aussen item=products_data from=$products}
     <p>{$products_data.QTY} x <ahref="{$products_data.LINK}">
        {$products_data.NAME|truncate:20:"...":true}</a>
     </p>
{/foreach}

 
   
       
   
www.xt-commerce.cn © 2003 - 2007 xt:Commerce GmbH, all rights reserved
發行事項 | 授权