也許有些讀者並不了解dedecms,這裡簡單介紹一下:DedeCMS是一個自由和開放原始碼的內容管理系統,它是一個可以獨立使用的內容發佈系統(CMS)。織夢內容管理系統(DedeCms) 以簡單、實用、開源而聞名,是國內最知名的PHP開源網站管理系統,也是使用用戶最多的PHP類CMS系統,簡單來說,就是用來搭建後台而使用的。 (文中織夢跟dedecms是同一個意思)
要使用dedecms,首先要去下載:下載dedecms
多圖警告,建議電腦上看! ! !
①:接下來是安裝織夢。首先將織夢解壓縮後放在一個資料夾,並將其放在伺服器路徑下。例如在www資料夾下(我用的是phpstudy)建立一個資料夾dedecms,將解壓縮後的織夢放在這個資料夾裡面,如圖:
然後打開http://localhost/dedecms,跳到這個頁面
接下來一步填寫即可:
左邊那張不用做修改,右邊按自己的填寫,注意的是資料庫密碼用戶正確,資料表前綴建議不改,資料庫名稱隨意。管理員密碼使用者名稱隨意,只要你記得。網站名稱,管理員信箱可以改。網址、安裝目錄本地的話可以不用改
不用體驗就忽略它(一般直接忽略,所以不打勾,點繼續)
安裝完成,是不是很簡單?你可以用管理員使用者和密碼登入後台
②:登入之後,進入這個介面,熟悉一下後台介面劑功能,也可以透過登入localhost/dedecms/dede進入後台,當然這是我這個測試的路勁
(使用的比較多的是紅色區域)
核心:管理頻道,管理欄位(這個是必用到的)
產生:更改首頁HTML、更新欄位HTML、更新文件HTML等
系統:可以設定很多東西。例如設定係統參數,去除浮水印、資料庫備份還原等
還可以加入新的變數
前面只是一些認識安裝,以下透過一個簡單的例子來解釋一下
首先我想實現一個文章發佈的功能,點擊標題查看文章,文章有標題、圖片和文字
具有這樣的功能,點擊相應的文章查看,文章列表跟內容都是動態由後台生成:
第一步:新增第一步:新增模型
分析:從資料庫的角度,要建立3個字段,分別是文章tiitle、圖片img、以及內容,回到dede,先登錄,這裡的後台路勁是localhost/dedecms/dede,登陸後點擊紅色區域
-------->
裡面的6個清單(商品、軟體、圖片集、普通文章、專題、分類資訊)都是系統的,並不是我們想要是,所以忽略他,我們重新建立一個模型,建造模型就相當於在資料庫中建立表,裡面的資料也就是我們之後欄位(範本頁)要呼叫的。點選增加新模型。
這個頁面需要修改的也不多,頻道id跟名字識別改不改無所謂,頻道名稱可以改,這裡改為測試頻道。附加表就是資料庫裡建立的表,名字該不該無所謂,刪除已有表可以打勾。然後這一頁其他的可以不用動,完成。
創建完之後,有興趣可以開啟phpmyadmin,就會看到在dedetest資料庫裡面新增了一個名為dede_addon17的表。其中dedetest資料庫使我們安裝的時候就在資料庫中創建了,名字是我們自己定義的,可以回到前面安裝那裡查看。打開表裡面是沒有資料的。
回到dede。建立完模型自後,右邊可以設定欄位。了解過php跟資料庫的應該知道欄位是什麼。字段就是在資料庫中新增一個列,存放一種類型資料。例如通訊錄中名字欄位等。在dedecms中,發佈內容的時候,系統會自動產生一些欄位。常用的系統字段有標題title(必有的)、縮圖picname(預設取得第一張圖片)、文章摘要description(如果有內容字段,預設截取前面一段,若沒,可以自己填寫),下面整理一段文字,詳細說明一下
arclist底層模板字段,可以調用的字段列表
用DedeCMS做站,arclist是用得最多的標籤,因為他是調用文章的基本標籤,功能也非常強大,他的底層字段比較多,我們平時使用還沒用到一半,但因為我們並不知道所有的底層字段,本來是標籤自帶的東西,我會還在那裡想怎麼去調用想要的數據,所以了解全部的底層模板字段,做站的時候會事半功倍。下面我就把arclist標題支援的所有的欄位列出來,並配上說明。
複製程式碼
1.[id] => 文章ID
2.[typeid] => 欄位ID
3.[typeid2] => 副欄ID
4.[sortrank] => 文件排序
5.[flag] => 自訂屬性
6.[ismake] => 是否產生靜態HTML
7.[channel] => 頻道模型ID
8.[arcrank] => 瀏覽權限
9.[click] => 點擊次數
10 .[money] => 需要消耗金幣
11.[title] => 文章標題
12.[shorttitle] => 文章短標題
13.[color] => 標題顏色
14.[writer] => 文章作者
15.[source] => 文章來源
16.[litpic] => 縮圖
17.[pubdate] => 更新時間
18.[senddate] => 發佈時間
19.[mid] => 發布會員ID
20.[keywords] => 文章關鍵字
21.[lastpost] => 最後回覆時間
22.[scores] => 消耗積分
23.[goodpost] => 好評數
24.[badpost] = > 差評數
25.[voteid] => 投票ID
26.[notpost] => 是否允許回覆
27.[description] => 文章摘要
28.[filename] => 檔案名稱
29. [dutyadmin] => 負責審核管理員的ID
30.[tackid] => 我也不知道
31.[mtype] => 算定義類別
32.[weight] => 排序權重
33.[typedir] => 欄位產生目錄
34.[typename] => 欄位名稱
35.[corank] => 欄位瀏覽權限
36.[isdefault] => 我也不知道
37.[defaultname] => 欄目的預設名稱
38.[namerule] => 欄位文章命名規則
39.[namerule2] => 欄位清單命名規則
40.[ispart] => 欄位屬性(頻道或最終清單)
41.[moresite] => 是否開啟了多站點支援
42.[siteurl] => 開啟多站點之後的站點域名
43.[sitepath] => 開啟多站點之後的站點路徑
44.[infos] => 文章摘要
45.[info] => 文章摘要
46.[arcurl] => 文章URL
47.[typeurl] => 欄位URL
48.[picname] => 縮圖
49.[stime] => YYYY-MM-DD格式的更新格式時間
50.[typelink] => 欄位連結
51.[image] => 縮圖完整的圖片標籤
52.[imglink] => 附連結的圖片標籤
53.[fulltitle] => 文章完整標題
54.[textlink] => 完整的A標籤文章連結
55.[phpurl] => 外掛程式目錄
56.[plusurl] => 外掛程式目錄
57.[memberurl] => 個人中心目錄
58.[templeturl] => 模板目錄
前面說了一大推,其實想實現這個例子,也就很簡單了:接著剛剛創建的模型,右邊不用新增字段,因為我們可以都用系統字段標題用title、圖片用picname、文章內容暫時就用摘要,雖然字數不多,簡單一點。能直接使用系統欄位就不去新增欄位。這樣子頻道模型就創建好了。
第二步:將寫好的前端介面放在dede目錄下。
首先看看簡單的前端介面
<span><span>DOCTYPE html</span><span>></span><span><span>html </span><span>lang</span><span>="en"</span><span>></span><span><span>head</span><span>></span><span><span>meta </span><span>charset</span><span>="UTF-8"</span><span>></span><span><span>title</span><span>></span>articlelist<span></span><span>title</span><span>></span><span></span><span>head</span><span>></span><span><span>body</span><span>><br></span><span><span>ul</span><span>></span><span><span>li</span><span>><span>a </span><span>href</span><span>="###"</span><span>></span>文章一<span></span><span>a</span><span>></span><span>li</span><span>></span><span></span><span>ul</span><span>></span><span></span><span>body</span><span>></span><span></span><span>html</span><span>></span></span></span></span></span></span></span></span></span></span>
<span><span>DOCTYPE html</span><span>></span><span><span>html </span><span>lang</span><span>="en"</span><span>></span><span><span>head</span><span>></span><span><span>meta </span><span>charset</span><span>="UTF-8"</span><span>></span><span><span>title</span><span>></span>list<span></span><span>title</span><span>></span><span></span><span>head</span><span>></span><span><span>body</span><span>></span><span><span>ul</span><span>></span><span><span>li</span><span>><span>a </span><span>href</span><span>="###"</span><span>></span>文章一<span></span><span>a</span><span>></span><span>li</span><span>></span><span><span>li</span><span>><span>img </span><span>src</span><span>="img/1.jpg"</span><span> alt</span><span>=""</span><span>></span><span>li</span><span>></span><span><span>li</span><span>></span>我是文章一的内容<span></span><span>li</span><span>></span><span></span><span>ul</span><span>></span><span></span><span>body</span><span>></span><span></span><span>html</span><span>></span></span></span></span></span></span></span></span></span></span></span></span></span>
就这2个页面,很简单。第一个命名为index.html,第二个界面命名为test.html。让后放在test文件夹下。接下来将test文件夹放在dede目录下。
就放在:dedecms/templets/default下,这就是dede的默认模板目录。
放好后如下图:
从图片中可以看到,模板的后缀名都是htm的,所以进入tese,将index.html跟test.html改为index.htm和test.htm。到此,就已经将前端模板放好位置了。
第三步:新增网站栏目
回到dede的后台,点击新增栏目。
我想先设置一个频道封面,再在频道封面里面设置最终列表页。2者的区别是频道封面不允许发布文档,可以显示多个列表页。最终列表页可以发布文档。
在设置封面页时,点击频道封面,栏目名称自己定义栏目列表选项使用动态页,转到高级选项,
在浏览里面找到test文件夹下面的index.htm,将其作为封面模板,然后点确定。就这样封面模板设置好了。然后再其下面增加子类,就是文章详情列表
转到高级选项,将文章模板改为test.htm
到此,栏目就设置好了。
第四步:使用简单的dede代码。
第二步的时候直接将2个页面放在dede下,如果没有对其代码进行修改,是无法实现功能的。关于dede的代码,可以详情查看手册。
在详情页中调用字段使用{dede:field name='title’/}、{dede:field.title/}
在列表页调用字段使用:
{dede:list}
我是标题:[field:title/],我的的url:[field:youku_url/]
我的正文内容:[field:work_body/]
在首页或者任意位置调用字段:
{dede:arclist typeid="12" channelid="17" addfields="youku_url"}
标题是:[field:title/]
视频地址:[field:youku_url/]
list跟arclist都可以循环输出,而list用于当前栏目,主要用于列表页调用字段,而arclist使用范围更广,在首页或者任意位置调用字段。如果是详情页,调用字段时使用{dede:field name='title’/}这种格式输出。
如果arclist中有自定义字段,并且要输出此字段时(像上面的优酷地址就是自定义的),就要加上addfields="youku_url",且加上该字段属于哪个频道的 channelid="17" 。如果是list中有自定义字段,就在dede中修改。修改方法:内容模型管理--->选择对应的频道,点击更改,在列表附加字段中写上字段名。
所以,这样子修改index.htm跟test.htm
test.htm:
<span><span>DOCTYPE html</span><span>></span><span><span>html </span><span>lang</span><span>="en"</span><span>></span><span><span>head</span><span>></span><span><span>meta </span><span>charset</span><span>="UTF-8"</span><span>></span><span><span>title</span><span>></span>{dede:global.cfg_webname/}<span></span><span>title</span><span>> <!--dede中title--></span><span></span><span>head</span><span>></span><span><span>body</span><span>></span><span><span>ul</span><span>></span><span><span>li</span><span>><span>a </span><span>href</span><span>="{dede:field name='arcurl'/}"</span><span>></span>{dede:field name='title'/}<span></span><span>a</span><span>></span><span>li</span><span>> <!--{dede:field name='arcurl'}获取路劲,{dede:field name='title'}是获取文章标题--></span><span><span>li</span><span>></span>{dede:field name='senddate' function="MyDate('Y-m-d H:i',@me)"/}<span></span><span>li</span><span>> <!--获取发布时间,并且按照后面格式输出--></span><span><span>li</span><span>><span>img </span><span>src</span><span>="{dede:field name='picname'/}"</span><span> alt</span><span>=""</span><span>></span><span>li</span><span>> <!--获取缩略图,默认第一张图片--></span><span><span>li</span><span>></span>{dede:field name='description'/}<span></span><span>li</span><span>> <!--获取摘要--></span><span></span><span>ul</span><span>></span><span></span><span>body</span><span>></span><span></span><span>html</span><span>></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
index.htm:
<span><span>DOCTYPE html</span><span>></span><span><span>html </span><span>lang</span><span>="en"</span><span>></span><span><span>head</span><span>></span><span><span>meta </span><span>charset</span><span>="UTF-8"</span><span>></span><span><span>title</span><span>></span>{dede:global.cfg_webname/}<span></span><span>title</span><span>></span><span><span>link </span><span>rel</span><span>="stylesheet"</span><span> href</span><span>="{dede:global.cfg_templets_skin/}/test/css/index.css"</span><span>> <!--如果有css文件,要这么加,修改路劲方法参考--></span><span></span><span>head</span><span>></span><span><span>body</span><span>></span><span><span>ul</span><span>></span><span> {dede:arclist typeid="1"} <!--频道ID是1--> </span><span><span>li</span><span>><span>a </span><span>href</span><span>="[field:arcurl/]"</span><span>></span>[field:title/]<span></span><span>a</span><span>></span>[field:arcurl/]<span></span><span>li</span><span>></span><span> {/dede:arclist} </span><span></span><span>ul</span><span>></span><span><span>script </span><span>src</span><span>="{dede:global.cfg_templets_skin/}/test/js/jquery-1.11.3.min.js"</span><span>></span><span>script</span><span>></span><span></span><span>body</span><span>></span><span></span><span>html</span><span>></span></span></span></span></span></span></span></span></span></span></span></span>
到此,后台搭建成功。
第五步:更改网站主页,以及解决不能及时更新栏目问题。
更改主页:选择主页模板选择test的index.htm,点击更新主页。
及时更新栏目:
在性能选项下修改:
将缓存设置为1秒,这样随时都是最新的。下面3个选项也勾是。
也可以手動更新網站:產生---->一鍵更新網站---->開始更新
第六步:發布第一篇文章。
點擊測試詳情頁進入發布
從圖中可以看到發布文章的時候有很多選項,這些都可以透過系統欄位取得。
效果如下:
(後面的尾巴是文章一的鏈接,我也將他輸出來了),點擊文章一後
這就是發布的文章
繼續發布:
這就是發布的文章
繼續發布:這就是發布的文章繼續發布:這就是發布的文章🎜🎜繼續發布:每一篇文章的路徑都不一樣。 🎜🎜暫時先寫到這裡,有新的心得再繼續更新。 🎜 🎜 以上就介紹了DedeCMS學習,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。 🎜 🎜 🎜