dedecms原理及使用

dedecms原理php

簡單使用

如今老闆要求你作一個文章管理系統,欄目(類別)包括(武俠、愛情、音樂...) ,每一個欄目(類別)有對應的文章,文章已經給你準備好了,請你在30分鐘搞定該網站,怎麼樣?html

 

步驟:數據庫

一、登陸到dedecms後臺建立了三個欄目(類別)

後臺->核心->網站欄目管理->添加頂級欄目         函數

添加三個,刷新首頁便可看看.學習

2給每一個欄目添加對應的文章給武俠文章欄目添加文章

後臺->核心->普通文章->添加文章      (縮略圖代碼能夠拿出來用)   網站

這裏能夠添加文章, 刷新首頁面就看看加密

當你點擊 某個文章的超連接時,就能夠看到對應的文章內容spa

3建立欄目頁

後臺->生成->更新欄目頁設計

這時,咱們的三級頁面,所有走通.3d

細節問題:

一、dede設計者認爲,每一個欄目都屬於一個模型 武俠文章|音樂文章=>文章模型,一個內容 模型,對應多個欄目  dede_channeltype 在默認狀況下有提供5個內容模型

二、dede設計者認爲,全部的數據(電影,文章,軟件,新聞)屬於一個欄目,爲了記錄這個欄目信 ,放入dede_arctype

字段名

含義

Id

編號 主鍵

Topid

上一級id是誰 0表明頂級欄目

一、dede的設計者認爲,全部的記錄(新聞,文章,軟件。。)都應該把數據放入到表 dede_archives[主表],還有一部分數據放入對應 從表

二、dede設計者認爲,不論是什麼樣的數據,(新聞,文章,軟件..)他們有相同字段,把相同的 字段放入主表(dede_archives),同時認爲,每種數據,都有本身獨特的字段,因而把這些 信息,放入從表。好比:

新聞news   從表:dede_addonnews 

商品goods  從表:dede_addongoods

三、當咱們在後臺,建立一個欄目時,

(1) 就會在 dede_arctype 表中記錄這個欄目信息

(2) 同時,會建立一個對應的文件夾,欄目文件夾 dedecms/a/欄目文件夾/ 

四、我在某個欄目,建立一條記錄時,

(1) 該記錄會保存到 數據庫中(dede_archives+對應從表)

同時成靜態頁面 dedecms/a/欄目文件夾/

實例1:添加內容管理

若是如今咱們要作的是電子商務網站,賣咱們的商品這時用文章這樣的形式來管理還合適嗎可是內容管理沒有商品,內容模型有商品

dede後臺的規定, 若是一個內容模型,沒有一個欄目,則不會出現內容添加的選項.

隱藏欄目  隱藏內容待審覈

提出一個嚴肅的問題. 首頁如何靜態化.

dedecms 中欄目頁面和首頁面須要手動點擊生成靜態頁面.

欄目頁面的靜態化 : 後臺->生成->更新欄目頁 (自動生成對應的靜態頁面)

首頁面的靜態   : 後臺->生成->更新首頁面( index.html)

實例2:內容模型添加字段

在添加某個商品的時候,咱們但願多兩個信息,就是付費方式,還但願多一個郵資信息,咱們又該怎樣處理?

dedecms容許用戶自定義字段,操做以下: 後臺->內容模型管理

在添加某個字段信息的時候,dede提供了一個叫聯動類型的字段,經常使用的聯動信息已經提供.地區. 好比給商品添加一個郵寄到地址  

後臺->內容模型管理->增長一個聯動類型(注意,字段的名稱,要和dede給出名字一致)

後臺->內容模型管理->聯動類別管理

實例3:更新欄目列表

請各位同窗看看,這裏咱們有一個問題,就是當你點擊武俠,愛情,電器的時候,會找不到對應的頁面,這是爲何呢?

當咱們點擊首頁的某個欄目,能夠進入到對應的欄目列表頁,須要咱們手動的點擊更新欄目頁:步驟:後臺->生成->更新欄目HTML  

注意 :我能夠選擇你要更新的哪一個欄目

說明:當咱們點擊更新欄目HTML,就會在該欄目對應的 目錄

dedecms/a/欄目文件夾/ 生成兩個靜態文件 index.html 還有 xx_list.html

 原理示意圖:

增長網站內容步驟

如今我要上一個租賃信息, 需求是內容模型本身建立 myhouse

(1) 建立本身的內容模型 myhouse

後臺->內容模型管理->填寫你的信息, 最後點擊建立

結果: dede_channeltype 表中有這個信息; 會建立附件表 dede_addonmyhouse

 

(1) 根據本身的需求,來建立自定義的字段

後臺->內容模型管理->點擊你的某個模型->字段增長, 添加本身的信息

結果: dede_addonmyhouse 表中就會有一個新的字段建立, (alter table 表名 add cloumn 字段名 類型)

(2) 建立一個具體的欄目

出租房屋/求租房屋  

後臺->網站欄目管理 ->增長一個欄目

刷新後臺頁面:

(1) 增長信息

點擊內容管理->房屋信息

根據實際狀況來填寫內容.

(2) 而後更新首頁面和欄目頁面HTML

後臺-> 生成  -> 更新首頁面HTMl ....欄目頁面HTML

 

每一個欄目會對應兩個目標文件 欄目模板,內容模板

注意: 當咱們更新後,求租房屋這個 欄目頁生成 ( 由於你尚未提供 對應的欄目模板,所以默認使用list_default.htm) 對應內容也會使用默認模板(這時可能提示錯誤)

自定義兩個模版而後更新html看靜態頁面 大小都是0kb

(3) 咱們須要美工,至少兩個模板

列表模版list_XXX.htm

內容(文本)模板 article_XXX.htm

到此就能夠把信息大量的建立.

dedecms的標籤使用

dedecms 標籤的使用

在後臺->模板->默認模板管理 ,點擊 修改,就能夠看到 dedecms提供的標籤.

去掉廣告.

思路:

由於個人首頁面的靜態頁是經過 模板建立來,到的首頁面對應的模板文件,把模板文件中關於廣告的代碼,去掉便可. dedecms/templets/default/index.htm 模板

廣告標籤是 {dede:myad}   去掉, 若是 index.htm 文件中 include其它模板文件,則須要把引入的模板文件的 myad去掉.

找到模板文件去掉廣告(某個欄目對應列表頁)

找到該欄目的對應的模板文件.能夠到 後臺->欄目管理->看看某個欄目的

模板是哪一個?而後修改.

系統學習dede標籤

學習方法:寫一個本身的模版  寫各類標籤看效果

把主頁模版改爲本身的

(1) 單標籤

形式 {dede:標籤名  參數=’ /}

舉例 includelude filename=’head.htm’/}

{dede:inc

(2) 雙標籤

形式: {dede:標籤名 參數=’’ ...} 內容 {/dede:標籤名}

舉例:

<!--取出網站的導航欄目-->

<!--type='top' 表示取出頂級欄目 row表示取出多少行-->

<!--dede:channel 標籤 至關 select ?  from dede_arctype where ? 去調用一個標籤庫類文件 channel.lib.php

--->

{dede:channel type='top' row='8'}

[field:typename/]

{/dede:channel}

(3) 如何對取出的字段內容,進行簡單的處理

[field:字段名 function=函數名(@me)’]

我對取出的欄目信息,進行md5加密.

案例

{dede:channel type='top' row='8'}

[field:typename/]--[field:id/]--[field:typename function='md5(@me)'/]

{/dede:channel}

(4) 對取出的內容作一個簡單的業務處理

[field:字段名 runphp=’yes’]

//簡單的業務邏輯.

[/filed:字段名]

舉例說明

[field:字段名 runphp=’yes’]

@me = (@me==’’) ? ‘空的’ : @me

[/filed:字段名]

(5) 如今我但願有本身的一個函數,該函數能夠,在字段信息後面添加一個 hello, 並返回.

形式是

[field:字段名 function=函數(@me)’/]

案例:

<br/>

****如何在字段上使用自定義函數***********

[field:typename function='myfun1(@me)'/]

☞ myfun1這個函數要寫到

dedecms/include/extend.func.php

☞ dede標籤不嵌套使用.

(6) 如何在dede中使用全局的變量

dedecms/include/common.inc.php 文件中定義了不少重要的全局變量的,咱們可使用dede標籤進行引用

基本使用方法:

{dede:global.全局變量名/}

若是須要在{dede}標籤內部使用

[field:global.全局變量名/]

☞ 支持自定義全局變量.

案例:

****如何在字段上使用自定義函數***********

[field:typename function='myfun1(@me)'/]

<br/>

[field:global.cfg_softname/]-[field:global.my_global_val/]

{/dede:channel}

<br/>*********<br/>

{dede:global.cfg_soft_lang/}--{dede:global.cfg_softname/}

相關文章
相關標籤/搜索