Neo's Blog

首頁 相本 討論 書籤

分類目錄
本站日誌 (51)
碎碎唸啦 (173)
網站架設 (84)
程式設計 (161)
軟體使用 (69)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)




歷史資料
 




January 20, 2006
Smarty WYSIWYG 設計技巧 - select、radio、checkbox 篇

雖然 Smarty 有提供 html_options、html_radios、html_checkboxes 這三個標籤分別來產生 select、radio、checkbox,但是對於想在 WYSIWYG 編輯器下正常顯示,我們必須用另一種方式來處理。

以 radio 為例,如果想把 $vote 變數指定給 Smarty ,讓 Smarty 來顯示對應的結果,Smarty WYSIWYG Template 的設計方法如下:

Yes
<input name="vote" type="radio" value="1" {{if $vote=='1'}}checked{{/if}}>
No
<input name="vote" type="radio" value="0" {{if $vote=='0'}}checked{{/if}}>

如此 Smarty 就會把與 $vote 值相符的選項給予 checked(選取) 的屬性。

如果在 $vote 未指定的情況下,想給 radio 一個預設值呢? 只要利用 Smarty 未指定的變數為空值的特性即可:

<input name="vote" type="radio" value="1" {{if $vote=='1' || $vote=='' }}checked{{/if}}>

但是種語法在 Dreamweaver 中被含在 HTML 標籤內會出現錯誤提示:

20060120_01.gif

由於 Dreamweaver 會檢查 HTML 標籤屬性正確與否,上述的錯誤是指屬性重覆,如果要避開這個檢查,只要把條件式中的變數及運算元通通拉在一起,不要有空白即可:

<input name="vote" type="radio" value="1" {{if $vote=='1'||$vote==''}}checked{{/if}}>

這樣就能正常顯示了,至於 select 、checkbox 的方式也與上述的做法相同,有問題也歡迎提出來討論。^^

 
由 Neo 發表於 January 20, 2006 01:39 AM 收進你的MyShare個人書籤  

發表迴響  
(*星號開頭為必填欄位)











(請輸入您看到的數字,看不到請按右鍵->顯示圖片)


記住我的資訊?







Copyright 2005 Neo's Blog All rights reserved.