[計算機]DedeCMS常用標簽講解筆記整理_第1頁
[計算機]DedeCMS常用標簽講解筆記整理_第2頁
[計算機]DedeCMS常用標簽講解筆記整理_第3頁
[計算機]DedeCMS常用標簽講解筆記整理_第4頁
[計算機]DedeCMS常用標簽講解筆記整理_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.DedeCMS常用標簽講解筆記整理今天我們主要將模板相關內容,在前面的幾節(jié)課中已經基本介紹過模板標簽的相關內容,大家可以下載天工開物老師的講課記錄:先前課程介紹了,網站的模板就如同一件衣服,衣服的好壞直接決定了網站的好壞,很多網站一看界面就知道不是什么好站點,再一看內容都是千篇一律,這種站點沒有特色看的人就少,所以模板的重要性就在于此。模板的制作也需要簡單,目前從很多程序的模板機制看,織夢的模板機制是最簡單實用的,通過學習織夢的標簽,能夠很好的把美工、程序結合起來,并且織夢的模板引擎機制也容易明白,基本上就是想到就能做到。大家在課前先去下載 DedeCMS V5.3 模板標簽參考手

2、冊 在之前的課程中,我們也介紹了模板的解析原理,我們來回顧下:這個是我們最常用的一個arclist標記,這個標記主要功能就是用于調用文檔內容,以列表的形式顯示在前臺頁面中。系統(tǒng)首先讀取模板文件,然后第一步就是解析標記,解析標記就是將整個標簽的屬性、屬性值提取出來,讓后根據(jù)這些不同的屬性值來調用不同的內容。這個我們在后面單獨的幾個標記中具體說明。我們下面來了解下DedeCMS模板文件的結構,網站內容顯示部分的模板主要存放在根目錄的/templets/模板目錄(默認為default)下面,當然你也可以根據(jù)自己的路徑進行修改,這里面的文件都是有相應的規(guī)則。這里是模板文件命名規(guī)范:()index_識別

3、ID.htm:表示板塊(欄目封面)模板;()list_識別ID.htm:表示欄目列表模板;()article_識別ID.htm:表示內容查看頁(文檔模板,包括專題查看頁);()search.htm: 搜索結果列表模板;注意不是搜索欄,是搜索的結果列表 ()index.htm: 主頁模板;這些模板都是可以通過系統(tǒng)后臺對其進行指定,系統(tǒng)默認會讀取這些模板內容不同的標簽作用域也不相同,這個在官方提供的標簽說明中都有列出,所以在使用標簽的時候一定要看好標簽的作用域,例如dede:list這個標簽只能在列表頁使用,如果放到首頁、內容頁那是不會有效果的,所以在閱讀手冊、制作模板的時候需要注意。下面我們來從

4、不同的常用標簽來講解,我們依次順序為:arclist(arclistsg)標簽、list標簽、field、global。這個在課前我們已經說明過。arclist(arclistsg)標簽這個標簽是系統(tǒng)中非常常用的調用標簽,主要功能就是通過指定標簽的屬性調用后臺發(fā)布的內容,這個標簽是一個全局標簽,也就是說,這個標簽可以在首頁、列表頁、內容頁等多個地方進行使用。當然我們可以通過系統(tǒng)后臺的模板-智能標記向導來生成arclist標簽,我們只需要指定不同的調用屬性、指定單條記錄樣式(底層模板),直接生成即可,生成的標簽可以直接使用到相應的模板中去。我們這里先在后臺添加一些測試數(shù)據(jù),創(chuàng)建兩個欄目,名字分別

5、為“甲欄目”、“乙欄目”,并且在兩個欄目分別中添加4篇文章。這里我們可以看到“ID:13”,即甲欄目的欄目ID為13,乙欄目的欄目ID為14。甲欄目中的2篇文章在屬性中設置為“推薦c”和“頭條h”,乙欄目中一篇內容設置為“推薦c”。因為這里arclist標簽是屬于全局標記,我們可以在系統(tǒng)后臺模板-全局標記測試中進行測試?;镜恼{用我們本節(jié)課就不多說,這里我們講解這個標記幾個非常用調用。1.常規(guī)屬性的應用;2. 附加字段的調用;3.自定義函數(shù)function的使用;4.PHP編程擴展。我們看下面這個調用標簽:dede:arclist flag='c' typeid='13

6、,14' row='4'<a href='field:arcurl/'>field:title/</a><br / >/dede:arclist這里的flag=c就是調用的發(fā)布文檔中“推薦c”,當然引申下,如果調用“頭條h”,則flag=h,所以我們在使用標記調用那些推薦、圖文的時候可以對這些進行修改,當然系統(tǒng)后臺中系統(tǒng)-自定義文檔屬性來修改相關的參數(shù)。dede:arclist typeid='13,14' limit='0,3'<a href='field:arcurl/

7、'>field:title/</a><br / >/dede:arclist這里主要講的是一個limit屬性的使用,這個屬性類似于MySQL中SQL查詢語句中的limit,通過這個屬性來控制調用的記錄ID和記錄條數(shù)。我們通過手冊查閱這個屬性的相關內容:limit='起始ID,記錄數(shù)'  (起始ID從0開始)表示限定的記錄范圍(如:limit='1,2'  表示從ID為1的記錄開始,取2條記錄)。有了這個屬性我們可以做出一種效果,就是一些門戶網站的不規(guī)則長度新聞標題的樣式,我們來查看以下的代碼:dede:a

8、rclist typeid='13,14' limit='0,1'<a href='field:arcurl/'>field:title/</a><br / >/dede:arclistdede:arclist typeid='13,14' limit='1,1' titlelen='8'<a href='field:arcurl/'>field:title/</a>/dede:arclistdede:arclist typ

9、eid='13,14' limit='2,1' titlelen='4'<a href='field:arcurl/'>field:title/</a><br / >/dede:arclist這里調用的3條信息就是上面limit='0,3'調用的3條內容,只不過我們通過limit對其進行了再次的拆分,再結合titlelen屬性控制標題的長度達到不規(guī)則標題的效果。接下來我們再來看下調用附加表字段,織夢的內容模型有2種類型,一種是主從表,另外一種就是單表獨立,主從表形式的就涉及到一個

10、主表和一個附加表,系統(tǒng)的主表是#_archives ,我們可以查看系統(tǒng)后臺系統(tǒng)-SQL命令行工具,用察看表結構,可以看表的字段,如果安裝時設置的默認前綴為dede,則會有一個dede_archives的表,這個表中記錄的都是常用字段。這里放得是所有欄目錄入的數(shù)據(jù),每條數(shù)據(jù)有typeid來對應不同的欄目。這里沒有記錄欄目文章的內容,只有題目。具體內容,對應下面所說的addon表,去數(shù)據(jù)庫看看自己就知道了。一般附加表都是以#_addon識別ID命名的,例如普通文章的附加表就是#_addonarticle,軟件模型的附加表就是#_addonsoft,不同模型的附加字段可以通過系統(tǒng)后臺核心-內容模型管

11、理,編輯一個模型,查看里面的“字段管理”,一般我們調用都是調用這些內容。我們在系統(tǒng)后臺添加了一個軟件下載的欄目,欄目設置模型為軟件,然后我們發(fā)布幾條軟件下載的信息,接下來我們需要通過arclist這個標簽將軟件的一些信息調用到網站首頁中進行顯示。我們可以查看到下面一些軟件添加的信息內容。我們查看下面的代碼: addfields字段來自addon表里,自己對照看。<table width="32%" height="79" border="0" cellpadding="0" cellspacing="

12、;1" bgcolor="#000000">dede:arclist addfields='filetype,language,softtype' row='8' channelid='3' <tr> <td width="25%" bgcolor="#FFFFFF">軟件標題:</td> <td width="75%" bgcolor="#FFFFFF">field:textlink

13、/ </td> </tr> <tr> <td bgcolor="#FFFFFF">語言類型:</td> <td bgcolor="#FFFFFF">field:language/</td> </tr> <tr> <td bgcolor="#FFFFFF">軟件類型:</td> <td bgcolor="#FFFFFF">field:softtype/</td>

14、</tr>/dede:arclist</table>我們通過addfields=這個屬性來指定調用的附加字段,同時我們需要指定調用模型的id,即channelid,這個可以在系統(tǒng)后臺的內容模型管理中查看。當然我們也可以通過這種方式在arclist標簽中調用文章的內容dede:arclist addfields='body' idlist='1156' channelid='1' 文章標題:field:textlink/ <br/> 文章內容:field:body/<hr/>/dede:arclist

15、如果我們文章內容很長,例如是添加了一篇新聞,這樣通過body調用出來的內容會出現(xiàn)內容很長的問題,這時候我們希望能夠限制調用內容的長度,但是我們調用附加表的時候沒有這個屬性來控制調用附加表的長度,所以只有通過自定義函數(shù)來對其進行控制,自定義擴展函數(shù)function在織夢的標簽中經常使用,下面我們對其進行一個簡單的實例。如何添加自定義函數(shù)呢?看下面:dedecms如何添加自定義函數(shù)找到dedecms添加自定義函數(shù)的文件位置在哪里就知道dedecms如何添加自定義函數(shù)了,dedecms有一個文件是專門為用戶添加自定義函數(shù)而準備的,這個文件就是include/extend.func.php,添加自定義

16、函數(shù)到這個文件里,再在模板里寫一句代碼,就可以得到自己想要的結果了。下面舉一個例子來說明一下使用dedecms如何添加自定義函數(shù)。比如,我想在首頁通過會員id獲得會員的名稱,我可以這樣寫一個自定義函數(shù):function GetMemberName($str)$dsql = new Dedesql(false);$row = $dsql->GetOne("SELECT uname FROM dede_member WHERE mid = '$str' ");return $rowuname;大家肯定已經很明了了,就是從數(shù)據(jù)庫中查詢出mid是$str的記錄

17、的名稱,并返回這個名稱。這樣,我們在前臺模板中寫這樣一句代碼field:mid function="GetMemberName(me)"/就可以顯示該會員的名稱了。到這里,我們已經可以使用自定義函數(shù)了。這樣的應用比較頻繁吧,比如我想通過dedecms添加自定義函數(shù)實現(xiàn)在子欄目頁獲得副欄目的id,也可以使用自定義函數(shù),這個功能就不在這詳細介紹了,希望通過這篇文章可以讓大家掌握dedecms如何添加自定義函數(shù)。我們這里用到一個idlist屬性,這個屬性就是調用指定id的文章,我們這里添加調用的是id為1156的文章。下面我們來對內容字段使用自定義函數(shù)來控制長度,我們將標簽修改成

18、以下形式:dede:arclist addfields='body' idlist='1156' channelid='1' 文章標題:field:textlink/ <br/> 文章內容:field:body function='cn_substr(me,100)'/<hr/>/dede:arclist這里我們在body這個字段地方加上了一個函數(shù)function='cn_substr(me,100)',這個函數(shù)的作用就是截取中文字符,我們可以查看網站源碼文件includecommon.fu

19、nc.php第123行內容。/中文截取2,單字節(jié)截取模式function cn_substr($str,$slen,$startdd=0)當然,這個文件里面還有很多的常用函數(shù),這些函數(shù)都起不同的作用,例如轉換日期、去除HTML標記、獲取IP等等,我們在二次開發(fā)標簽中也介紹了這些函數(shù)的功能和用處,理解這些函數(shù)需要有一定的PHP基礎。在function='cn_substr(me,100)'中出現(xiàn)了一個“me”,這個“me”代表的是標簽本身,例如field:body function='cn_substr(me,100)'/,這個就是將標簽field:body/輸出

20、的內容通過me傳遞到cn_substr這個函數(shù)中進行處理。當然我們也可以自己編寫函數(shù),只需要創(chuàng)建/include/extend.func.php文件,編寫相應的自定義函數(shù)即可。接下來我們介紹變量的簡單編程,我們首先來看一段標簽標記:這樣做就是把函數(shù)硬編碼入代碼,其實不如寫一個自定義函數(shù)來得好。dede:arclist typeid='13,14'<a href='field:arcurl/'>field:title/</a>field:senddate runphp='yes' $ntime = time();$oneti

21、me = 3600 * 2;if($ntime - me)<$onetime) me = "<font color='red'>(new)</font>"else me = ""/field:senddate<br / >/dede:arclist這里我們將2小時前發(fā)布的內容后面增加一個(new),這里我們應用到了標簽的PHP擴展。我們這里用到的是變量field:senddate/ 這個變量顯示的是發(fā)布時間,因為我們需要判斷2小時內最新發(fā)布的文檔,所以需要通過這個變量進行判斷。這里變量中屬性run

22、php='yes'為開啟PHP編程,然后可以通過下面的方式進行編程擴展。field:senddate runphp='yes' $ntime = time();/當前時間$onetime = 3600 * 2;/距離的時間數(shù)目if($ntime - me)<$onetime) me = "<font color='red'>(new)</font>"else me = ""/判斷,如果相差時間小于2小時加紅,否則沒有內容/field:senddate當然如果懂PHP相關內容,還

23、有很多的PHP擴展,這里主要是將處理后的內容通過me來返回。當然這里還有arclistsg標簽,這個標簽也是用于調用發(fā)布的文檔內容,但是不同于arclist,這個標簽調用的是單表模型的內容,我們系統(tǒng)中的分類信息就是一個單表模型的例子,(添加欄目時可以選擇這個“分類信息”模塊??梢宰约航ㄒ粋€該種類型的模塊去熟悉一下它。為什么它不要addon呢,不是因為什么少了一層列表的原因,它點進去也有列表。是因為它的字段不多,一個表就可以了。不需要附加字段了。我理解那個附加addon表類似biweb里的structon哈哈)在使用上,這個標簽和arclist相同,所以在這里不再重復說明,只是arclistsg

24、標簽調用時候需要加上channelid之類的。dede:arclistsg channelid='-8' limit='0,2' <a href='field:arcurl/'>field:title/</a> <br/>/dede:arclistsglist標簽dede:list/dede:list這個標簽也是系統(tǒng)常用的標記,這個標記主要是用于列表頁顯示列表數(shù)據(jù),這個標簽不是全局標記,所以不要將這個標記應用到非list_*.htm這種模板中去,當然我們后臺的全局標記測試也無法測試這個標記,調試這個標記最簡單的

25、辦法,就是通過網址中測試調試模板的時候需要將系統(tǒng)后臺的模板緩存關閉,可以在后臺系統(tǒng)-系統(tǒng)基本參數(shù),在性能選項卡中將“是否啟用模板緩存”關閉即可。這個標簽在列表頁通常是和dede:pagelist listsize='5' /搭配使用的,這個是分頁標簽,就是顯示可以讓用戶點擊“上一頁”、“下一頁”這種標記。List標簽中的變量也可以進行function自定義函數(shù)或者PHP擴展,這里就不重復介紹,這里介紹下在list標簽中調用附加字段。dede:arclistxxxxx/dede:arclist語句可以應用于首頁、封面頁、列表欄目頁、內容頁。 而dede:listXXXX/dede

26、:list語句,則只能應用于列表欄目頁。列表欄目頁,要添加多列文章標題的話,就可以用到dede:arclistxxxxx/dede:arclist語句。與arclist不同,list中調用附加字段需要編輯內容模型,例如我們編輯軟件模型的模板文件,即templetsdefaultlist_soft.htm,我們可以查看到以下代碼:dede:list pagesize='10'<li>field:array runphp='yes'me = (empty(me'litpic') ? "" : "<a h

27、ref='me'arcurl'' class='preview'><img src='me'litpic''/></a>"); /field:array<a href="field:arcurl/" class="title">field:title/</a><span class="info"><small>上傳日期:</small>field:pubda

28、te function="GetDateTimeMK(me)"/<small>推薦級別:</small>field:softrank function='GetRankStar(me)'/<small>軟件語言:</small>field:language/<small>瀏覽次數(shù):</small>field:click/</span><p class="intro">field:description/.</p></li>/dede:list這個里面的附加字段并沒有通過指定某個屬性獲得,而是在系統(tǒng)后臺中,核心-內容模型管理,編輯軟件內容模型,在選項“列表附加字段”加上相關字段的內容。field

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論