網頁模板就是templets中的htm文件,所以編寫模板就是要編寫html。這篇文章不是關於標簽的具體使用,而是對網頁模板的一些理解。包括基本的標簽語法,封面模板,列表模板和文檔模板的關系。
一 關於標簽
dedecms標簽:就像html標簽,不過是織夢自定義的,由標簽名,屬性,和InnerText構成。
先看一段代碼templets/index.htm
- 網站名:{dede:global name=cfg_webname/}<br/><br/>
- <strong>最近登陸的會員</strong><br/>
- {dede:memberlist row=6 signlen=30}
- <a href="[field:spaceurl/]" target="_blank">
- <img src="[field:face/]" width="52" height="52"/> [field:uname/]<br/>
- </a>
- {/dede:memberlist}
通過運行網站主頁index.php查看結果。
像dede:global就是標簽名,name=cfg_webname是屬性,在dede:memberlist標簽間的就是InnerText。在織夢中,InnerText又稱為底層模板。
短標簽:像global這種只有單邊的標簽叫短標簽,表示一個元素的值。
塊標簽:像memberlist這種成對的標簽叫塊標簽,一般表示一系列的紀錄,像上面的代碼就表示列出6個會員的默寫信息。研究一下會發現這些記錄來自數據庫。
[field:XX]這個代表記錄中的某個屬性值。
總結一下,編寫模板時用到這些語言
Html代碼+新增的dedecms標簽語法。
Css和Js沒有新語法,以外部文件的方式調用。
Php,mysql的代碼大大減少,與數據庫查詢有關的代碼大部分被標簽語法。比如說調用memberlist標簽,就等價於訪問數據表dede_cms。Php主要用於插件等新模塊的編寫和修改。
以上只是織夢標簽語法的簡述,詳見模板手冊
標記手冊1
標記手冊2
站長百科
二 模板的種類
2.1 templets文件夾
System文件夾,裡面放的是默認底層模板。當我們在塊級標簽間不寫任何東西時,就會自動被調用來作為塊級標簽的InnerText。
Plus文件夾,裡面放的是被root_dir/plus裡的php調用的模板。經過一些研究也許能仿寫這些模板的代碼,待探究。
Default文件夾,裡面放的是默認模板,是網頁顯示主要的模板,如果在網上下一個其他的dedecms模板(非官方默認模板),可能裡面只是一個templets文件夾,因為這對外觀已經足夠了。下面是default文件夾的分析。
我以前只用到index.htm,其他的文件有什麼用呢?
我認為這些文件可以分成兩類:
第一類不是一個完整的頁面,被include的(由於有了dedecms標簽,html文檔中也可以include)。如head.htm,footer.htm等。
第二類就是完整的頁面了,呵呵。
而第二類又分為封面(index)模板,列表(list)模板,文檔(內容,article)模板。文件夾中的index_XX.htm就是封面模板,依此類推。
2.2封面、列表和文檔模板的測試
在root_dir/index.php中的SetTemplet處把路徑改為dirname(__FILE__) . "/templets/default/
list_article.htm",顯示的內容不太完整。這些模板要怎麼用呢?一下是我探索的辦法:
打開dedecms的網站後台管理(對了,請先安裝安裝數據體驗包,這樣才有測試數據)
點擊網站欄目管理
在網頁基礎中點更改
常規選項中欄目屬性是頻道封面
再選擇高級選項
高級選項中封面模板為{style}/index_article.htm
如果你安裝的數據和我是同一版本,就會知道網頁基礎是個一級欄目,底下組織了很多文章。
回到網站欄目管理