smarty自定義函數

1.assign assign 用於在模板被執行時爲模板變量賦值. {assign var="name" value="Bob"}
2.counter

counter 用於輸出一個記數過程. counter 保存了每次記數時的當前記數值. 用戶可以通過調節 interval 和 direction 調節該值. 也可以決定是否輸出該值. 如果需要同時運行多個計數器,必須爲它們指定不同的名稱. 如果沒有指定名稱,模板引擎使用 "default" 作爲缺省值.

屬性 類型 是否必須 缺省值 描述
name string No default 計數器的名稱
start number No 1 記數器初始值
skip number No 1 記數器間隔、步長
direction string No up 記數器方向,(增/減)
print boolean No true 是否輸出值
assign string No n/a 輸出值將被賦給模板變量的名稱

3.cycle Cycle 用於輪轉使用一組值. 該特性使得在表格中交替輸出顏色或輪轉使用數組中的值變得很容易.
屬性 類型 是否必須 缺省值 描述
name string No default 輪轉的名稱
values mixed Yes N/A 待輪轉的值,可以是用逗號分隔的列表(請查看 delimiter 屬性)或一個包含多值的數組.
print boolean No true 是否輸出值
advance boolean No true 是否使用下一個值(爲 false 時使用當前值)
delimiter string No , 指出values 屬性中使用的分隔符,默認是逗號.
assign string No n/a 輸出值將被賦給模板變量的名稱
advance 屬性用於重複使用某個值. 當該屬性設置爲 false 時,下次調用該輪轉時將輸出同樣的值. {section name=rows loop=$data}
<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}">
<td>{$data[rows]}</td>
</tr>
{/section}

4.debug

{debug} 將調式信息輸出到頁面上. 該函數是否可用取決於 Smarty 的 debug 設置. 該函數在運行時取得數據,因此不能顯示使用中的模板,只能顯示運行時被賦值的變量. 不過還是可以看到所有模板內當前可用的變量.

5.eval

eval 按處理模板的方式計算取得變量的值. 該特性可用於在配置文件中的標籤/變量中嵌入其它模板標籤/變量.


6.fetch

fetch 用於從本地文件系統、HTTP或FTP上取得文件並顯示文件的內容. 如果文件名稱以"http://"開頭,將取得該網站頁面並顯示. 如果文件名稱以"ftp://"開頭,將從ftp服務器取得該文件並顯示.

7.html_checkboxes

自定義函數 html_checkboxes 根據給定的數據創建複選按鈕組. 該函數可以指定哪些元素被選定. 要麼必須指定 values 和 ouput 屬性,要麼指定 options 替代. 所有的輸出與 XHTML 兼容.

8.html_image 自定義函數 html_image 產生一個圖象的 HTML 標籤. 如果沒有提供高度和寬度值,將根據圖象的實際大小自動取得. 9.html_options 自定義函數 html_options 根據給定的數據創建選項組. 該函數可以指定哪些元素被選定. 要麼必須指定 values 和 ouput 屬性,要麼指定 options 替代.10.html_radios

自定義函數 html_radios 根據給定的數據創建單選按鈕組. 該函數可以指定哪個元素被選定. 要麼必須指定 values 和 ouput 屬性,要麼指定 options 替代. 所有的輸出與 XHTML 兼容.

11.html_select_date 自定義函數 html_select_date 用於創建日期下拉菜單. 它可以顯示任意年月日. 12.html_select_time 自定義函數 html_select_time 用於創建時間下拉菜單. 它可以顯示任意時分秒. 13.html_table

自定義函數 html_table 將數組中的數據填充到 HTML 表格中. cols 屬性決定表格有多少列. table_attr , tr_attr td_attr 屬性決定表格中 tr 和 td 標籤的一些附加屬性. 如果tr_attr td_attr 屬性值爲數組,將輪流使用其中的值. 如果指定了 trailpad 屬性,將在表尾最後一行附加一些數據.

14.math math 允許模板設計者在模板中進行數學表達式運算. 均表達式中可以使用任何數值類型的變量,結果在 math 標籤的位置輸出. 表達式中使用的變量被當做參數傳遞給函數,可以是模板變量或靜態值. 目前可以使用的運算符有:+, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans 和 tan .關於數學函數的詳細信息,請查看 PHP 文檔.15.mailto mailto 自動生成電子郵件鏈接,並根據選項決定是否對地址信息編碼. 電子郵件地址編碼使得網絡嗅探程序難以收集到電子郵件地址信息.
16.popup_init

popup 函數整合了 overLib(用於彈出窗口的函數庫) 庫. 這些函數用於上下文敏感信息如幫助窗口或工具提示. 如果準備使用 popup 函數,在頁首必須先調用 popup_init 函數. overLib 由 Erik Bosrup 開發,其主頁位於http://www.bosrup.com/web/overlib/.

在 Smarty 2.1.2 版中沒有帶 overLib 庫. 必須下載該庫,將 overlib.js 文件置於文檔根目錄下,調用 popup_init 的時候將該文件的相對路徑作爲參數"src"傳遞.


17.popup popup 用於創建javascript彈出窗口.
屬性 類型 是否必須 缺省值 描述
text string Yes n/a 彈出窗口中要顯示的內容,文本或超文本
trigger string No onMouseOver 觸發彈出窗口的條件,可選擇onMouseOver(鼠標經過)或onClick(鼠標單擊)
sticky boolean No false 彈出窗口始終顯示,直到關閉
caption string No n/a 標題文本內容
fgcolor string No n/a 彈出窗口內部顏色
bgcolor string No n/a 彈出窗口邊框顏色
textcolor string No n/a 彈出窗口內部文字顏色
capcolor string No n/a 彈出窗口標題顏色
closecolor string No n/a 設置"關閉"文本信息的顏色
textfont string No n/a 設置內容文本使用的字體類型
captionfont string No n/a 設置標題文本的字體
closefont string No n/a 設置"關閉"文本信息的字體類型
textsize string No n/a 設置內容文本使用的字體大小
captionsize string No n/a 設置標題文本使用的字體大小
closesize string No n/a 設置"關閉"文本信息的字體大小
width integer No n/a sets the width of the box設置寬度
height integer No n/a sets the height of the box設置高度
left boolean No false 使彈出窗口位於鼠標左側
right boolean No false 使彈出窗口位於鼠標右側
center boolean No false

使彈出窗口的中間位置和鼠標位置重合

above boolean No false 使彈出窗口位於鼠標上側. 注: 僅在設置了height屬性時有效
below boolean No false 使彈出窗口位於鼠標下側
border integer No n/a 決定彈出窗口的邊框厚度
offsetx integer No n/a 橫向顯示位置偏移量
offsety integer No n/a 縱向顯示位置偏移量
fgbackground url to image No n/a 使用背景圖片代替背景顏色
bgbackground url to image No n/a

使用背景圖片代替邊框顏色. 注1: 必須設置bgcolor爲"",邊框顏色纔不會顯示. 注2: 當有關閉鏈接時,Netscape會重新渲染表格,看起來可能會有點問題.

closetext string No n/a 自定義關閉鏈接顯示文本
noclose boolean No n/a 不顯示關閉鏈接
status string No n/a 設置狀態欄顯示的文本
autostatus boolean No n/a 設置彈出窗口狀態欄顯示的文本爲當前窗口狀態欄顯示的文本. 注: 該設置將覆蓋status的設置
autostatuscap string No n/a 設置狀態欄顯示的文本爲標題欄顯示的信息. 注: 該設置將覆蓋status和autostatus設置
inarray integer No n/a 該屬性告訴overLib在ol_text數組中讀該屬性指定的索引的元素到text中. 該屬性可以代替text屬性
caparray integer No n/a 該屬性告訴overLib在ol_caps數組中讀該屬性指定的索引的元素到caption中.
capicon url No n/a 彈出前先顯示該圖象
snapx integer No n/a 橫向將彈出窗口附着於指定位置
snapy integer No n/a 縱向將彈出窗口附着於指定位置
fixx integer No n/a 鎖定彈出窗口的橫向位置. 注: 該設置將覆蓋其它橫向設置
fixy integer No n/a 鎖定彈出窗口的縱向位置. 注: 該設置將覆蓋其它縱向設置
background url No n/a 設置圖象作爲輸出表格區塊的背景
padx integer,integer No n/a 在背景圖象後附加橫向空白. 注: 該屬性有兩個參數
pady integer,integer No n/a 在背景圖象後附加縱向空白. 注: 該屬性有兩個參數
fullhtml boolean No n/a 允許用戶完全控制背景圖片上的HTML. HTML代碼位於"text"屬性中
frame string No n/a 控制彈出窗口在不同的框架中. 關於此函數更多詳細信息,請查閱overlib文檔.
timeout string No n/a 調用特定javascript腳本函數,將返回值顯示在彈出窗口中.
delay integer No n/a 使得彈出窗口像一個工具提示,窗口將顯示到該屬性指定的時間(毫秒)
hauto boolean No n/a 自動決定彈出窗口位於鼠標的左側或右側.
vauto boolean No n/a 自動決定彈出窗口位於鼠標的上側或下側.

18.textformat textformat 用於格式化文本. 該函數主要清理空格和特殊字符,對段落按單詞邊界換行和行縮進等段落格式化處理.
屬性 類型 是否必須 缺省值 描述
style string No n/a 預處理風格
indent number No 0 單行縮進的字符數目
indent_first number No 0 首行縮進的字符數目
indent_char string No (single space) 填充縮進區域的字符(或字符串)
wrap number No 80 單行長度,超過該長度自動折行
wrap_char string No \n 折行使用的字符(或字符串),被附加在行尾
wrap_cut boolean No false 如果設置爲真,換行時不考慮換行點所在位置是否爲完整單詞,直接換行. 反之將在單詞的邊界處換行.
assign string No n/a 輸出值將被賦給模板變量的名稱

發佈了38 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章