如果你想了解更多關於dedecms的知識,可以點選:dedecms教學
網頁範本就是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="/static/imghwm/default1.png" data-src="[field:face/]" class="lazy" style="max-width:90%" style="max-width:90%"/ alt="dedecms怎麼製作網站模板" > [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_member。 Php主要用於插件等新模組的編寫和修改。
不用全部標籤都學,學會global、field、php、arclist、list、pagelist和memberlist即可。其他需要再查。
要學習一個標籤,要學習
1標籤的基本語法,標籤名
# 2標籤,標籤對應的網頁模板,及標籤的邏輯意義
3標籤的屬性以及其對標籤用法的控制
4標籤背後的資料來源,及其提供的InnerText
二模板的種類
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
如果你安裝的資料和我是同一版本,就會知道網頁基礎是個一級欄目,底下組織了很多文章。
回到網站欄位管理
# 點擊預覽,會看到一個關於網頁基礎欄目的頁面。由於常規選項中欄位屬性是頻道封面,進階選項中封面範本為{style}/index_article.htm
,所以網頁呼叫index_article.htm
作為範本。
依此類推,如果在常規選項中欄目屬性是最終列表欄目,高級選項中封面模板為{style}/list_article.htm,則會調用list_article.htm作為模板,文檔模板也依此類推。
模板與欄目的關係
每個欄位都有自己的三個模板,而同一個模板可被多個欄位所用。也就是說,模板只是提供了樣式,但內容終究來至資料庫。這也說明了為什麼在root_dir/index.php中的SetTemplet處改路徑不能顯示完整的內容,因為模板沒有綁定到某個特定欄位。這也是織夢作為內容管理系統的特點,把樣式和內容分開。
再來說文檔模板,在常規選項->欄位屬性處看到。作為頻道封面欄不能發布文章的。那我們選一個最終清單欄目,如」Html」
點選變更。看到常規選項中欄位屬性是最終清單欄目,點進階選項,就能看到文件範本為{style}/article_article.htm,所以Html欄位下所有的文章都會以這個範本顯示。
點選內容管理裡的普通文章
選擇一篇Html欄位下的文章,點預覽(右邊的那個綠色小球)
這時看到的是就是article_article.htm模板代表的樣式。
到這裡,應該就會如何顯示/偵錯封面範本、清單範本和文件範本了。
2.3頻道
可以看見templets/default中大部分的模板都是這三類,可見其重要性。那麼有index_article.htm,list_article.htm,article_article.htm就夠了,其他又是做什麼的。
這就要講到頻道,頻道是欄目的類型,文章(article)頻道、圖片(image)頻道、軟體(soft)頻道(實質是一個下載頻道)、商品(shop)頻道等。頻道是一種內容模型,例如動漫、風景都能用圖片頻道。所以就會有index_article.htm,index_ image.htm,index_ soft.htm,index_shop.htm。每個頻道都有自己的三種模板。
那麼如何寫模板,當然要先學過標籤語法
A、function 擴展,如{dede:標記名稱function=”函數名(@me,其它參數) 」 /}
B、在Innertext中直接編程,也就是之前一直用的方法
再讀一下index_article.htm,list_article.htm, article_article.htm。讀源碼是最好的學習方法^_^
總的來說,寫網頁具體要做的就是為每個頻道編寫網頁模板。
以上是dedecms怎麼製作網站模板的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),