一、基本概念:1、cms(content management system)內(nèi)容管理系統(tǒng),適合于管理什么系統(tǒng)(適合于做什么類型的網(wǎng)站) (1)以靜態(tài)為主, (2)以內(nèi)容展示為主, (3)邏輯比較簡單,網(wǎng)站的結(jié)構(gòu),比較清晰明了(主頁,欄目頁(列表頁面),內(nèi)容詳情頁面) 比如:電影網(wǎng)站,軟件下載網(wǎng)站,圖片素材網(wǎng)站,簡單的企業(yè)門戶網(wǎng)站,學(xué)校網(wǎng)站。 不適合于:SNS(個(gè)人設(shè)置),股票,復(fù)雜的電子商務(wù)網(wǎng)站,內(nèi)容更新比較頻繁的網(wǎng)站。 2、cms系統(tǒng)的選擇(1)dedecms,織夢(mèng)cms系統(tǒng),以簡單,實(shí)用,開源而聞名,適合于中小型網(wǎng)站,一些企業(yè)和學(xué)校也在使用。偏于套模板。 (2)phpcms:專業(yè)度要高于dedecms,適合于做大站,適合于做二次開發(fā)。 (3)帝國cms:功能一般。 3、開源的cms系統(tǒng)提供了哪些功能?(1)強(qiáng)大靈活的后臺(tái)管理功能。 (2)全站靜態(tài)化(前臺(tái)),添加完成內(nèi)容后,通過后臺(tái)的按鈕直接生成靜態(tài)頁面。 (3)強(qiáng)大的采集功能,采集別人網(wǎng)站的數(shù)據(jù)。 (4)強(qiáng)大的標(biāo)簽功能,便于在模板頁面中取出數(shù)據(jù), (5)采用mvc架構(gòu),便于擴(kuò)展新的功能。 二、安裝dedecms1、下在cms的安裝包 2、直接把安裝包拷貝網(wǎng)站的根目錄 3、直接在瀏覽器中訪問 4、第一次訪問時(shí),提示安裝。 建議大家配置一個(gè)虛擬主機(jī),便于學(xué)習(xí)安裝。 案例:演示地址: http://www./case.html 三、使用cms 系統(tǒng)開發(fā)一個(gè)網(wǎng)站流程。1、定義模型,用于確定網(wǎng)站的數(shù)據(jù)內(nèi)容。 在后臺(tái)-》核心-》頻道模型-》內(nèi)容模型管理, 2、創(chuàng)建欄目,網(wǎng)站的導(dǎo)航,、欄目下面還有子欄目, 3、添加具體的內(nèi)容,具體數(shù)據(jù)內(nèi)容的增刪改查。 4、創(chuàng)建模板,采用標(biāo)簽取出數(shù)據(jù)。 5、通過后臺(tái),生成靜態(tài)頁面,前臺(tái)首頁,欄目頁面,內(nèi)容詳情頁面。 四、入門案例,完成一個(gè)新聞?lì)愋偷木W(wǎng)站。要求,有欄目,有子欄目,前臺(tái)靜態(tài)化。 1、定義新聞?lì)愋偷膬?nèi)容模型,該新聞?lì)愋偷哪P?,默認(rèn)有,則無需自己創(chuàng)建。 2、創(chuàng)建網(wǎng)站的欄目,首頁的導(dǎo)航。
當(dāng)我們添加一個(gè)欄目的時(shí)候,欄目數(shù)據(jù)是添加到dede_arctype表里面的。
在添加欄目的時(shí)候,在a目錄下面,生成以欄目的漢語拼音為名稱的一個(gè)目錄, 轉(zhuǎn)換的一個(gè)原理。 3、添加數(shù)據(jù)的內(nèi)容。 當(dāng)我們添加內(nèi)容的時(shí)候,內(nèi)容數(shù)據(jù)是存儲(chǔ)到哪張表里面的呢? 該數(shù)據(jù)是存儲(chǔ)到兩張表里面的, dede_archives(內(nèi)容主表) dede_addonarticle(附加表) 4、創(chuàng)建模板,先使用默認(rèn)的模板, 5、生成靜態(tài)頁面, 五、表之間的關(guān)系,1、dede里面的內(nèi)容模型的概念。內(nèi)容模型:存儲(chǔ)數(shù)據(jù)的類型,類似于魚和魚類的概念,人和人類的概念。 比如: office 2016(具體的一個(gè)軟件) 內(nèi)容模型:軟件模型 春天的故事(具體的一首歌) 內(nèi)容模型:音樂 李世民(具體的一個(gè)人) 內(nèi)容模型:人類 dede里面模型是存儲(chǔ)到dede_channeltype表里面 添加一個(gè)新模型后,dede_channeltype表里面會(huì)添加一條記錄。 2、內(nèi)容主表和附加表:要存儲(chǔ)的數(shù)據(jù): 電影數(shù)據(jù): 名稱 導(dǎo)演 主演 劇情 瀏覽量 音樂數(shù)據(jù) : 作詞 作曲 歌詞 原唱 名稱 瀏覽量 圖片數(shù)據(jù): 名稱 分辨率 圖片的格式 圖片的名稱 圖片的大小 瀏覽量 軟件數(shù)據(jù): 名稱 語言 作者 大小 格式 商品數(shù)據(jù): 思考:如何設(shè)置表,用于存儲(chǔ)以上數(shù)據(jù)。 采用:分表(水平分割,垂直分割)技術(shù), 內(nèi)容主表:用于存儲(chǔ)公共的一些信息的,dede里面是dede_archives 附加表:用于存儲(chǔ)數(shù)據(jù)的獨(dú)有的信息,附加表是有多個(gè)的。 比如當(dāng)前: dede_addonimage:圖片的獨(dú)特?cái)?shù)據(jù) dede_addonmusic:音樂的獨(dú)特的數(shù)據(jù) dede_addonmovie:電影數(shù)據(jù) 3、表之間的關(guān)系。內(nèi)容主表 附加表 欄目表 內(nèi)容模型表 (1)dede_archives內(nèi)容主表和dede_addonXXX(附加表)關(guān)系: dede_archive表里面 的id字段和dede_addonxxxx表里面 的aid字段相關(guān)聯(lián)。 (2)欄目表dede_arctype和內(nèi)容主表dede_archives表之間關(guān)系。 一個(gè)具體 的內(nèi)容,必須屬于某個(gè)欄目的。
dede_arctype表里面的id和dede_archives表里面的typeid字段相關(guān)聯(lián)。 (3)欄目和內(nèi)容模型表里面的關(guān)系。 在添加欄目的時(shí)候,必須要指定一個(gè)內(nèi)容模型。 dede_arctype欄目表里面的channeltype字段和dede_channeltype字段的id相關(guān)聯(lián)。 六、內(nèi)容模型修改,自定義內(nèi)容模型注意 :在添加完成某個(gè)模型的欄目后,想要添加該欄目的數(shù)據(jù),需要在后臺(tái)重新刷新一下,在核心-》內(nèi)容管理-》會(huì)出來該模型數(shù)據(jù)的添加按鈕。 1、修改模型,在dede里面默認(rèn)的模型有時(shí)不滿足我們,需要修改模型
如何更改: 在后臺(tái)-》核心-》頻道模型-》內(nèi)容模型管理-》
單擊修改后,選擇字段管理。 選擇添加新字段,新添加的字段默認(rèn)在最后, 在字段管理里面,通過調(diào)節(jié)如下代碼,設(shè)置表單顯示的位置。 調(diào)試結(jié)果如下: 對(duì)應(yīng)附加表里面添加了一個(gè)字段。 2、自定義模型 當(dāng)默認(rèn)的模型無法滿足我們時(shí),要自己定義模型,(新建模型) 如何定義: 定義模型:新增一張附加表,定義附加表里面的字段信息。 字段信息如何定義:根據(jù)內(nèi)容詳情頁面里面,顯示的數(shù)據(jù)信息而定義, 要注意:有些信息無需定義,因?yàn)樵趦?nèi)容主表里面已經(jīng)定義了,比如名稱,縮略圖的地址等。 在內(nèi)容模型管理里面-》新建模型即可: 新建完成模型后,附加表對(duì)應(yīng)創(chuàng)建,在附加表里面默認(rèn)有幾個(gè)字段,不能滿足我們,因此要添加我們自己定義的字段。 針對(duì)我們電影網(wǎng)站定義模型字段內(nèi)容: 七、模板替換,使用標(biāo)簽取出數(shù)據(jù),電影網(wǎng)站的模型已經(jīng)完成,接下來完成電影網(wǎng)站的欄目的創(chuàng)建。 在添加完成欄目后,要刷新一下后臺(tái)首頁,會(huì)在內(nèi)容管理中出現(xiàn)欄目所屬的模型,進(jìn)行添加數(shù)據(jù)。 在添加電影時(shí),常規(guī)信息下面默認(rèn)是標(biāo)題,可以改成其他的內(nèi)容顯示,修改模型,里面基本設(shè)置里面進(jìn)行修改。 1、模板替換,(1)在dede目錄下面的templets目錄下面存儲(chǔ)是模板文件。 在templets目錄下面新建一個(gè)目錄,為a67,用于存儲(chǔ)我們電影網(wǎng)站的模板文件。 (2)把我們自己準(zhǔn)備的模板的樣式,圖片,js目錄給復(fù)制到a67目錄下面 (3)定義模板文件的名稱。 需要準(zhǔn)備至少是3個(gè)模板文件,首頁模板,列表頁面的模板,內(nèi)容詳情頁面的模板 首頁的模板: 欄目(列表)頁面模板: 核心-》網(wǎng)站欄目管理-》更改-》
一個(gè)欄目對(duì)應(yīng)兩個(gè)模板文件,在默認(rèn)情況下,同屬于一個(gè)模型的所有欄目使用同樣的模板文件。我們也可以設(shè)置,不同的欄目使用不同的模板。
(4)設(shè)置cms系統(tǒng)使用我們自己的模板, (5)生成首頁的靜態(tài)頁面。
2、使用標(biāo)簽取出數(shù)據(jù)在dede里面有兩種標(biāo)簽,單標(biāo)簽和雙標(biāo)簽。標(biāo)簽只能在模板文件中使用。 (1)單標(biāo)簽:使用語法: {dede:global.標(biāo)簽的名稱/} {dede:global.cfg_webname/} {dede:global.cfg_templets_skin/},給我們解析成當(dāng)前的模板目錄: 單標(biāo)簽是實(shí)際上是解析成全局變量,在include目錄下面有一個(gè)文件common.inc.php,該文件里面定義了一些全局變量,如果想在模板文件中使用全局變量,則使用單標(biāo)簽來取出。 自己可以建立一個(gè)測試文件,用于測試標(biāo)簽內(nèi)容的解析,比如在a67下面建立一個(gè)demo.htm文件,用于測試,
(2)雙標(biāo)簽,取出數(shù)據(jù)內(nèi)容。查看dedecms里面提供的雙標(biāo)簽, 語法格式: {dede:標(biāo)簽的名稱 屬性1=屬性值1 屬性2=屬性值2} [field:字段名稱/] {/dede:標(biāo)簽的名稱}
案例1:取出欄目數(shù)據(jù)內(nèi)容,使用的標(biāo)簽是,channel標(biāo)簽, 該標(biāo)簽在解析的時(shí)候,是查詢的dede_arctype表 取出的數(shù)據(jù): 每一個(gè)雙標(biāo)簽,對(duì)應(yīng)一個(gè)解析文件的。該解析文件在include 目錄下面的,taglib目錄下面。
可以在channel.lib.php文件中測試執(zhí)行的sql語句,通過輸出該語句,判斷讀取哪張表里面的數(shù)據(jù)。 添加模板。顯示樣式。
案例2:取出電影首頁模板中導(dǎo)航條,取出欄目信息,使用channel標(biāo)簽,
案例3:取出首頁模板中,推薦數(shù)據(jù)內(nèi)容。 思考:先用哪個(gè)標(biāo)簽, arclist:標(biāo)簽,該標(biāo)簽是取出具體的數(shù)據(jù)內(nèi)容,內(nèi)容主表(dede_archives)和附加表(dede_addonXXx) channeled=’模型的id’: 通過該屬性,用于確定是取出哪個(gè)模型的數(shù)據(jù),也就是確定讀取哪張附加表,如果沒有該屬性,則不讀取附加表里面的數(shù)據(jù)。 addfields=”附加表字段多個(gè)用逗號(hào)隔開”,用于確定從附加表里面取出哪些字段信息。 標(biāo)簽代碼: |
|