首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Smarty 內建函數完整指南:capture、config_load、include、if、literal、php、strip

     編輯:PHP 相關知識

Smarty 內建函數完整指南

Smarty 內建函數是模板語言的核心組件,不可被自定義函數覆寫。本文詳細說明 7 大核心內建函數的屬性、語法與實戰範例。

1. capture - 捕獲模板輸出

將區塊輸出存入變數而非直接顯示,搭配 {$smarty.capture.name} 取得。

{capture name="foo"} 這裡的內容不會直接顯示 {/capture}
{$smarty.capture.foo} <!-- 輸出捕獲內容 -->
屬性類型必要預設說明
namestring否default捕獲區域名稱
assignstring否n/a指定指派給的變數名

2. config_load - 載入設定檔

{config_load file="config.conf" section="database" scope="global"}

屬性:file(必要)、section、scope(local/parent/global)、global(布林)。

3. include - 引入子模板

{include file="header.tpl"}
{include file="footer.tpl" assign="footer_html"}

屬性:file(必要)、assign、任意額外變數傳遞給子模板。

4. if / elseif / else - 條件判斷

支援豐富的條件修飾詞:

修飾詞對應
eq, ==等於
ne, !=, neq不等於
gt, >大於
lt, <小於
gte, ge, >=大於等於
lte, le, <=小於等於
is even / odd奇偶判斷
not邏輯非
mod取模
div by整除
&&, ||, ()邏輯與、或、分組

5. ldelim / rdelim - 輸出定界符

輸出 { 與 },避免被模板引擎解析。

{ldelim}funcname{rdelim} 是 Smarty 函數。 <!-- 輸出:{funcname} 是 Smarty 函數。 -->

6. literal - 區塊不解析

區塊內容視為純文字,常用於內嵌 JavaScript。

{literal}

{/literal}

7. php - 內嵌 PHP 程式碼

不建議在生產環境使用,破壞模板與邏輯分離原則。

{php} echo date("Y-m-d H:i:s"); {/php}

8. strip - 移除多餘空白換行

{strip}
  • Item 1
  • Item 2
{/strip} <!-- 輸出單行 HTML,無縮排空白 -->

延伸閱讀

最重要的迴圈函數 foreach/foreachelse 及 section/sectionelse 請參考專題文章。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved