dedecms原理及使用
dedecms原理
簡(jiǎn)單使用
現(xiàn)在老板要求你做一個(gè)文章管理系統(tǒng),欄目(類別)包括(武俠、愛情、音樂(lè)...) ,每個(gè)欄目(類別)有對(duì)應(yīng)的文章,文章已經(jīng)給你準(zhǔn)備好了,請(qǐng)你在30分鐘搞定該網(wǎng)站,怎么樣?
?
步驟:
1、登錄到dedecms后臺(tái)創(chuàng)建了三個(gè)欄目(類別)
后臺(tái)->核心->網(wǎng)站欄目管理->添加頂級(jí)欄目?????????
添加三個(gè),刷新首頁(yè)即可看看.
2、給每個(gè)欄目添加對(duì)應(yīng)的文章給武俠文章欄目添加文章
后臺(tái)->核心->普通文章->添加文章 ?????(縮略圖代碼可以拿出來(lái)用) ??
這里可以添加文章,?刷新首頁(yè)面就看看
當(dāng)你點(diǎn)擊 某個(gè)文章的超鏈接時(shí),就可以看到對(duì)應(yīng)的文章內(nèi)容
3、創(chuàng)建欄目頁(yè)
后臺(tái)->生成->更新欄目頁(yè)
這時(shí),我們的三級(jí)頁(yè)面,全部走通.
細(xì)節(jié)問(wèn)題:
1、dede設(shè)計(jì)者認(rèn)為,每個(gè)欄目都屬于一個(gè)模型 武俠文章|音樂(lè)文章=>文章模型,一個(gè)內(nèi)容 模型,對(duì)應(yīng)多個(gè)欄目 ?dede_channeltype 在默認(rèn)情況下有提供5個(gè)內(nèi)容模型
2、dede設(shè)計(jì)者認(rèn)為,所有的數(shù)據(jù)(電影,文章,軟件,新聞)屬于一個(gè)欄目,為了記錄這個(gè)欄目信 息,放入dede_arctype表
| 字段名 | 含義 |
| Id | 編號(hào) 主鍵 |
| Topid | 上一級(jí)id是誰(shuí) 0代表頂級(jí)欄目 |
1、dede的設(shè)計(jì)者認(rèn)為,所有的記錄(新聞,文章,軟件。。)都應(yīng)該把數(shù)據(jù)放入到表 dede_archives[主表],還有一部分?jǐn)?shù)據(jù)放入對(duì)應(yīng) 從表
2、dede設(shè)計(jì)者認(rèn)為,不管是什么樣的數(shù)據(jù),(新聞,文章,軟件..)他們有相同字段,把相同的 字段放入主表(dede_archives),同時(shí)認(rèn)為,每種數(shù)據(jù),都有自己獨(dú)特的字段,于是把這些 信息,放入從表。比如:
新聞news ??從表:dede_addonnews?
商品goods ?從表:dede_addongoods
3、當(dāng)我們?cè)诤笈_(tái),創(chuàng)建一個(gè)欄目時(shí),
(1)?就會(huì)在 dede_arctype 表中記錄這個(gè)欄目信息
(2)?同時(shí),會(huì)創(chuàng)建一個(gè)對(duì)應(yīng)的文件夾,欄目文件夾 dedecms/a/欄目文件夾/?
4、我在某個(gè)欄目,創(chuàng)建一條記錄時(shí),
(1)?該記錄會(huì)保存到 數(shù)據(jù)庫(kù)中(dede_archives+對(duì)應(yīng)從表)
同時(shí)成靜態(tài)頁(yè)面 dedecms/a/欄目文件夾/
實(shí)例1:添加內(nèi)容管理
如果現(xiàn)在我們要做的是電子商務(wù)網(wǎng)站,賣我們的商品,這時(shí)用文章這樣的形式來(lái)管理還合適嗎??但是內(nèi)容管理沒有商品,內(nèi)容模型有商品
在dede后臺(tái)的規(guī)定, 如果一個(gè)內(nèi)容模型,沒有一個(gè)欄目,則不會(huì)出現(xiàn)內(nèi)容添加的選項(xiàng).
隱藏欄目 ?隱藏內(nèi)容待審核
提出一個(gè)嚴(yán)肅的問(wèn)題. 首頁(yè)如何靜態(tài)化.
在dedecms 中欄目頁(yè)面和首頁(yè)面需要手動(dòng)點(diǎn)擊生成靜態(tài)頁(yè)面.
欄目頁(yè)面的靜態(tài)化 : 后臺(tái)->生成->更新欄目頁(yè) (自動(dòng)生成對(duì)應(yīng)的靜態(tài)頁(yè)面)
首頁(yè)面的靜態(tài) ??: 后臺(tái)->生成->更新首頁(yè)面( index.html)
實(shí)例2:內(nèi)容模型添加字段
在添加某個(gè)商品的時(shí)候,我們希望多兩個(gè)信息,就是付費(fèi)方式,還希望多一個(gè)郵資信息,我們又該怎樣處理?
dedecms允許用戶自定義字段,操作如下:?后臺(tái)->內(nèi)容模型管理
在添加某個(gè)字段信息的時(shí)候,dede提供了一個(gè)叫聯(lián)動(dòng)類型的字段,常用的聯(lián)動(dòng)信息已經(jīng)提供.地區(qū). 比如給商品添加一個(gè)郵寄到地址 ?
后臺(tái)->內(nèi)容模型管理->增加一個(gè)聯(lián)動(dòng)類型(注意,字段的名稱,要和dede給出名字一致)
后臺(tái)->內(nèi)容模型管理->聯(lián)動(dòng)類別管理
實(shí)例3:更新欄目列表
請(qǐng)各位同學(xué)看看,這里我們有一個(gè)問(wèn)題,就是當(dāng)你點(diǎn)擊武俠,愛情,電器的時(shí)候,會(huì)找不到對(duì)應(yīng)的頁(yè)面,這是為什么呢?
當(dāng)我們點(diǎn)擊首頁(yè)的某個(gè)欄目,可以進(jìn)入到對(duì)應(yīng)的欄目列表頁(yè),需要我們手動(dòng)的點(diǎn)擊更新欄目頁(yè):步驟:后臺(tái)->生成->更新欄目HTML ?
注意 :我可以選擇你要更新的哪個(gè)欄目
說(shuō)明:當(dāng)我們點(diǎn)擊更新欄目HTML,就會(huì)在該欄目對(duì)應(yīng)的 目錄
dedecms/a/欄目文件夾/ 生成兩個(gè)靜態(tài)文件 index.html 還有 xx_list.html
?原理示意圖:
增加網(wǎng)站內(nèi)容步驟
現(xiàn)在我要上一個(gè)租賃信息, 需求是內(nèi)容模型自己創(chuàng)建 myhouse
(1)?創(chuàng)建自己的內(nèi)容模型 myhouse
后臺(tái)->內(nèi)容模型管理->填寫你的信息, 最后點(diǎn)擊創(chuàng)建
結(jié)果: 在 dede_channeltype 表中有這個(gè)信息; 會(huì)創(chuàng)建附件表 dede_addonmyhouse
?
(1)?根據(jù)自己的需求,來(lái)創(chuàng)建自定義的字段
后臺(tái)->內(nèi)容模型管理->點(diǎn)擊你的某個(gè)模型->字段增加, 添加自己的信息
結(jié)果: 在 dede_addonmyhouse 表中就會(huì)有一個(gè)新的字段創(chuàng)建, (alter table 表名 add cloumn 字段名 類型)
(2)?創(chuàng)建一個(gè)具體的欄目
出租房屋/求租房屋 ?
到 后臺(tái)->網(wǎng)站欄目管理 ->增加一個(gè)欄目
刷新后臺(tái)頁(yè)面:
(1)?增加信息
點(diǎn)擊內(nèi)容管理->房屋信息
根據(jù)實(shí)際情況來(lái)填寫內(nèi)容.
(2)?然后更新首頁(yè)面和欄目頁(yè)面HTML
后臺(tái)-> 生成 ?-> 更新首頁(yè)面HTMl ....欄目頁(yè)面HTML
?
每個(gè)欄目會(huì)對(duì)應(yīng)兩個(gè)目標(biāo)文件 欄目模板,內(nèi)容模板
注意: 當(dāng)我們更新后,求租房屋這個(gè) 欄目頁(yè)生成 ( 因?yàn)槟氵€沒有提供 對(duì)應(yīng)的欄目模板,因此默認(rèn)使用list_default.htm) 對(duì)應(yīng)內(nèi)容也會(huì)使用默認(rèn)模板(這時(shí)可能提示錯(cuò)誤)
自定義兩個(gè)模版然后更新html看靜態(tài)頁(yè)面 大小都是0kb
(3)?我們需要美工,至少兩個(gè)模板
列表模版list_XXX.htm
內(nèi)容(文本)模板 article_XXX.htm
到此就可以把信息大量的創(chuàng)建.
dedecms的標(biāo)簽使用
dedecms 標(biāo)簽的使用
在后臺(tái)->模板->默認(rèn)模板管理 ,點(diǎn)擊 修改,就可以看到 dedecms提供的標(biāo)簽.
去掉廣告.
思路:
因?yàn)槲业氖醉?yè)面的靜態(tài)頁(yè)是通過(guò) 模板創(chuàng)建來(lái),到的首頁(yè)面對(duì)應(yīng)的模板文件,把模板文件中關(guān)于廣告的代碼,去掉即可. dedecms/templets/default/index.htm 模板
廣告標(biāo)簽是 {dede:myad} ??去掉, 如果 index.htm 文件中 include其它模板文件,則需要把引入的模板文件的 myad去掉.
找到模板文件去掉廣告(某個(gè)欄目對(duì)應(yīng)列表頁(yè))
找到該欄目的對(duì)應(yīng)的模板文件.可以到 后臺(tái)->欄目管理->看看某個(gè)欄目的
模板是哪個(gè)?然后修改.
系統(tǒng)學(xué)習(xí)dede標(biāo)簽
學(xué)習(xí)方法:寫一個(gè)自己的模版 ?寫各種標(biāo)簽看效果
把主頁(yè)模版改成自己的
(1)?單標(biāo)簽
形式 : {dede:標(biāo)簽名 ?參數(shù)=’值’?/}
舉例 :includelude filename=’head.htm’/}
{dede:inc
(2)?雙標(biāo)簽
形式: {dede:標(biāo)簽名?參數(shù)=’值’?...} 內(nèi)容 {/dede:標(biāo)簽名}
舉例:
<!--取出網(wǎng)站的導(dǎo)航欄目-->
<!--type='top' 表示取出頂級(jí)欄目 row表示取出多少行-->
<!--dede:channel 標(biāo)簽 相當(dāng) select ? ?from dede_arctype where ? 去調(diào)用一個(gè)標(biāo)簽庫(kù)類文件 channel.lib.php
--->
{dede:channel type='top' row='8'}
[field:typename/]
{/dede:channel}
(3)?如何對(duì)取出的字段內(nèi)容,進(jìn)行簡(jiǎn)單的處理
[field:字段名 function=’函數(shù)名(@me)’]
我對(duì)取出的欄目信息,進(jìn)行md5加密.
案例 :
{dede:channel type='top' row='8'}
[field:typename/]--[field:id/]--[field:typename function='md5(@me)'/]
{/dede:channel}
(4)?對(duì)取出的內(nèi)容做一個(gè)簡(jiǎn)單的業(yè)務(wù)處理
[field:字段名 runphp=’yes’]
//簡(jiǎn)單的業(yè)務(wù)邏輯.
[/filed:字段名]
舉例說(shuō)明
[field:字段名 runphp=’yes’]
@me = (@me==’’) ? ‘空的’?: @me
[/filed:字段名]
(5)?現(xiàn)在我希望有自己的一個(gè)函數(shù),該函數(shù)可以,在字段信息后面添加一個(gè) hello, 并返回.
形式是
[field:字段名 function=’函數(shù)(@me)’/]
案例:
<br/>
****如何在字段上使用自定義函數(shù)***********
[field:typename function='myfun1(@me)'/]
??myfun1這個(gè)函數(shù)要寫到
dedecms/include/extend.func.php
??dede標(biāo)簽不嵌套使用.
(6)?如何在dede中使用全局的變量
在dedecms/include/common.inc.php 文件中定義了很多重要的全局變量的,我們可以使用dede標(biāo)簽進(jìn)行引用
基本使用方法:
{dede:global.全局變量名/}
如果需要在{dede}標(biāo)簽內(nèi)部使用
[field:global.全局變量名/]
??支持自定義全局變量.
案例:
****如何在字段上使用自定義函數(shù)***********
[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/}
轉(zhuǎn)載于:https://www.cnblogs.com/ybygb-geng/p/10001588.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的dedecms原理及使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: NUC970开发资源
- 下一篇: 池化层的back proporgatio