dedecms開發電影網-第一節

dedecms-電影網開發

項目開發流程
這裏寫圖片描述

我們開發的a67電影網的頁面已經提供了.

什麼是cms
cms(content manage system)內容管理系統 , 比如 電商網站/小說網/博客/文章管理系統/各種軟件下載網/公司的宣傳性網站/新聞發佈網站

目前主流的cms系統有哪些
dedecms: 專注於個人網站/中小型網站/也有企業用戶
phpcms: 針對中型網站
cmstop: 針對流量大,併發大的網站
帝國cms: 針對中小型網站.

dedecm的特點:
1.開源,簡單,實用
2.技術架構 PHP+MYsql
3.專注於個人網站和中小型的門戶
4.可以實現全站靜態化

安裝並配置我們的dedecms
統一開發環境 wamp5
1.卸載我目前的開發環境.
2.安裝wamp5套件(繼承apache+mysql+php+phpmyadmin)
安裝的過程是 next一路到底即可, 當啓動後,如果出現的圖標是全白,說明啓動成功
3.在瀏覽器中輸入 http://localhost
4.把dedecmsv5.7解壓,然後把uploads 文件夾,拷貝到 wamp/www 目錄
5.把uploads文件夾改名爲dedecms
6.在瀏覽器輸入 http://localhost/dedecms/install
7.在安裝中請大家啓用gb庫
8.後面第3步驟時,請正確指定mysql數據庫的密碼,在默認情況下,我們的dedecms的管理員的密碼是 admin
9.看到
這裏寫圖片描述

10.後臺的url http://localhost/dedecms/dede/login.php
這裏可訪問後臺,但是會提示一個安全性錯誤,可以把默認的dede文件夾,名字改成比如manage
11.輸入正確的管理員的名字和密碼,就成功的進入後臺
這裏寫圖片描述
我們把 data/common.inc.php 文件改成只讀. 如果在linux下,這把改成 644
chmod 644 文件名
成功安裝!

快速入門使用dedecms
需求1: 現在老闆要求你做一個文章管理系統,欄目(類別)包括(武俠、
愛情、音樂…) ,每個欄目(類別)有對應的文章,文章已經給你準備
好了,請你在30分鐘搞定該網站,怎麼樣?

步驟如下
(1)登錄到後臺->核心->網站欄目管理->增加頂級欄目
增加了三個
這裏寫圖片描述
(2)給每個欄目增加對應的文章即可

後臺->核心->內容管理->增加文檔

(3)藉助於這個案例,我們分析dedecms的數據庫設計思想
這裏寫圖片描述

需求2: 如果現在我們要做的是電子商務網站,賣我
們的商品,這時用文章這樣的形式來管理還合適
嗎?—> 每個欄目都可以指定一個內容模型
什麼是內容模型呢?

步驟:
(1)先把自己不需要的先隱藏(把欄目隱藏,把具體的文檔隱藏)
(2)增加新的欄目 海爾電器

其實就是在 dede_arctype 表中增加了一條記錄

(3)增加了兩個具體電器

其實就把把信息記錄到對應的主表和附加表
dede_archives 和 對應的 附加表 dede_addonshop

10min 練習

網站頁面分級(三層)
網站首頁面
網站的欄目頁面(多級) ->欄目頁面是需要我們手動生成
網站的內容頁

☞ dedecms採用的是頁面靜態化技術,因此它的首頁面可以是靜態,他的欄目頁是靜態,內容頁面是靜態.

注意: 首先要添加一個欄目,才能夠添加一個文檔(商品,電影,軟件,新聞)

需求3: 在添加某個商品的時候,我們希望多兩個信息,就是付費方
式,還希望多一個郵資信息,我們又該怎樣處理?
引出修改內容模型的問題
步驟如下
(1)後臺-> 核心->內容模型管理->選擇shop模型->更改
這裏寫圖片描述

(2)添加新的字段
(3)如果希望看到效果,則更加頁面靜態化的原理,應當去修改內容頁對應的模板,也需要對模板進行修

我們首先要確定,模板文件在哪裏?
這裏寫圖片描述
從這個頁面可以看到,文章模板就是我們要找的的內容頁模板. 默認是放在 dedecms/templets/defulat /article_shop.htm
(4)修改模板,增加了一段代
支付方式:{dede:field.paymode/}
郵資信息:{dede:field.postmode/}
(5)然後重新生成內容頁面即可.

思考題:1. 欄目(類別)是保存在哪個表
中的. 2. 一篇文章,一個商品它們最
終是存放在數據庫中的哪些表中?

答: 欄目是保存在dede_arctype 表中, 一篇文章,一個商品是保存在dede_archives和對應的附加表dede_addonXXX 表

小結: 如何使用dedecms增加內容的步驟
(1)首先看看的要增加的內容是否有對應的內容模型,如果有就用,沒有就自己創建
演示如何創建自己的內容模型,比如我要做一個新聞網站, 這時我發現沒有新聞模型,就自己添加一個 新聞模型,
並且我增加自己獨特的字段 (新聞的報道者,新聞發生地)
[這裏去讓美工提供 該模型的 欄目頁面模板和內容頁面目錄!]
(2)增加欄目(我的新聞)
(3)增加具體新聞
(4)更新一下欄目頁和內容頁即可.

☞ 在使用過程中,如果沒有提供新聞模型對應的欄目頁面模板和內容頁模板,則dedecms會使用默認的模板文件,但是可能提示錯誤.

介紹dedecms的目錄結構

,每個目錄的作用是什麼?

dedecms/a 存放的是內容頁的靜態頁面和欄目頁的靜態頁面.(按欄目和日期來分別存放)
dedecms/data 存放緩存文件,臨時文件和部分配置文件
dedecms/images 存放dede自己使用的圖片
dedecms/include 是dede的核心類庫, 包括數據庫核心類,標籤處理類,工具類,支付接口類

dedecms/install 是安裝目錄
dedecms/member 是一個會員管理模塊(帶博客功能..)

dedecms/plus 目錄是插件開發目錄,當我們自己開發程序和代碼可以放在這個下.
dedecms/templets/default 目錄 存放的是我們的靜態模板.
dedecms/uploads 存放你上傳的圖片
dedecm/manage 後臺程序

實際的來處理一下dedecms系統

1.把首頁面和欄目頁面和內容頁面的廣告全部拿掉.
2.把logo 換成自己的logo圖片

思路 把dedecms首頁面換成靜態頁面.

因爲我們的首頁的靜態頁面是 通過模板文件生成,所以,我只要把 模板文件的 廣告相關的標籤,刪除,然後再重新生成即可.

首頁面的靜態模板 templets/default/index.html
廣告相關的標籤是 {myad/}

首頁面的廣告去掉的步驟:

(1)把 templets/default/index.html 和 templets/default/head.html 的廣告標籤{myad/}刪除,再重新更新首頁面,這時,我們的首頁上就沒有廣告
把欄目頁面的廣告也去掉
(2)把 templets/default/list_shop.htm 和 templets/default/head.html 的廣告標籤{myad/}刪除,再重新更新首頁面,這時,我們的首頁上就沒有廣告
把內容頁面的廣告也去掉
(3)把 templets/default/article_shop.htm 和 templets/default/head2.html 的廣告標籤{myad/}刪除,再重新更新首頁面,這時,我們的首頁上就沒有廣告

說明,我們上面的修改只會把 商品這個模型,對應的欄目頁面和內容頁面的靜態頁的廣告去掉,並不會影響到其它模型對應的欄目頁或者內容頁 。

學習dedecms的標籤

學習思路: 我們使用自己的首頁模板文件,然後創建一個學習的測試環境,學習標籤

單標籤
基本語法是
{dede:標籤名 參數名=’值’ 參數名=’值’ …/}

實際案例:
{dede:include filename=’head.htm’/}

雙標籤
基本語法是:
{dede:標籤名 參數名=’值’ 參數名=’值’ ..}
//…內容
{/dede:標籤名}

實際案例:

使用channel標籤取出所有的欄目信息
{dede:channel type=’top’ row=’10’}
[field:typename/]
{/dede:channel}

這裏我們要和說說標籤的調用究竟發生了什麼?
1.當我們調用某個標籤的時候,實際上,引入對應的標籤庫,比如 dede:channel 其實就引入了channel.lib.php
2.比如上面的這個{dede:channel}標籤,相當於 執行
select * from dede_arctype where ??????
我看看後臺發生的sql
3.每個標籤對應一個標籤庫,如果我們在開發中需要自己的定製的東西,可以根據需求去修改源碼

字段標籤的使用

如果我們希望對獲取的某個字段,進行二次處理,我們可以對字段值,調用某個函數來完成.

比如:

{dede:channel type=’top’ row=’10’}

[field:typename /]–[field:id function=’md5(@me)’/]
{/dede:channel}

還有一種方式可以對字段值,進行二次處理

基本語法是
{field:字段名 runphp=’yes’}
//有一些簡單的php業務代碼
{/field:字段名}

實際案例:

{dede:channel type=’top’ row=’10’}

[field:typename /]–[field:id function=’md5(@me)’/]


[field:keywords runphp=’yes’]
@me=(@me==”)?’空空的’:@me;
[/field:keywords]
{/dede:channel}

第三種可以同時有runphp 和 function 函數來處理的字段結果,該用法用的很少,瞭解即可
比如:
[field:typename function=’md5(@me)’ runphp=’yes’]
@me=(@me==”)?’空空的’:@me;
[/field:typename]

第四種用法: 使用自定義的函數去對獲取的字段信息進行二次處理,這個用的最多.

基本步驟是:
在 dedecms/include/extends.func.php 這個文件中,可以寫自己的函數,然後使用

//自定義函數
function myfun($val){

return 'hello '.$val.rand(1,1000);

}

如何使用

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

實際使用一把!

[filed:typename function=’myfun(@me)’/]

深入的瞭解一把dede標籤替換原理

正式開發我們的a67電影網

1.將dede首頁面換成a67電影網的首頁面

步驟:
(1)把原來的 templets/default 模板文件全部拿掉 ,最好建議備份一份
(2)把我們的a67電影的首頁面拷貝到 templets/default
(3)把a67電影網需要的 css / js / images 全部拷貝到 templets/default
(4)我們可以參考一下,dedecms原來是怎樣把 css 正確引入.
最後修改的index.htm關鍵代碼是:
這裏寫圖片描述

imags 引入路徑修改:
這裏寫圖片描述

10min請大家完成到這裏!

需求2: 將默認首頁面欄目換成a67電影網的首頁面欄目
這裏寫圖片描述
步驟
(1)創建自己的內容模型(頻道) 名字movie
後臺->內容模型 ->增加
(2)看看需不需要自己增加一些額外的字段
根據我們分析,看了一下內容頁模板, 增加相應的字段信息,具體方法是
到內容模型管理區增加,需要的各個字段,並且選用合適的數據類型
(3)增加需要的欄目信息
增加兩個欄目 (我的電影,我的電視劇)
(4)增加兩個電影
爲了代碼能順利運行,我們自己先給一個簡單的內容模板
(5)在首頁面中,通過標籤,取出自己的欄目信息.
思路: 修改首頁面的模板文件 index.htm 使用{dede:channel} 標籤把欄目信息取出
核心修改的代碼是 :
這裏寫圖片描述

5min寫的這裏

需求3; 當用戶點擊某個欄目鏈接,就進入到對應的欄目頁面
這裏寫圖片描述
思路: 我們首先要把美工給我們的欄目列表模板拷貝到 目錄,然後,就可以創建欄目列表頁面. 通用影視頻道頁.html 改成 list_chmovie.htm

,下一步就可以生成欄目列表頁.
(1)把通用影視頻道頁.html 改成 list_chmovie.htm 拷貝到 templets/default
(2)我手動點擊了生成 欄目列表HMTL ,我們看到的確生成了
(3)把欄目信息的超鏈接指向我們自己a67網站的 欄目頁面.
(4)在list_chmovie.htm 正確的引入我們的css / js / images即可

index.htm 模板我們修改的地方是:
這裏寫圖片描述

list_chmovie.htm 模板修改的地方是:
這裏寫圖片描述
然後把images 正確引入

10min 你們完成到這裏地方.

需求4: 在a67首頁取出自己的電影或是電視劇
這裏寫圖片描述

思路: 在首頁面的模板文件中,增加,獲取電影和電視劇的標籤

知識點: 在dedecms中取出內容信息, 使用的標籤是 {dede:arclist} 標籤
基本語法是:
標籤名稱:arclist
功能說明:文章列表調用標記
使用實例:
{dede:arclist flag=’h’ typeid=” row=” col=” titlelen=” infolen=”
imgwidth=” imgheight=” listtype=” orderby=” keyword=” limit=’0,1’}
[field:title/]
{/dede:arclist}

我們修改了 首頁面的 index.htm 模板,修改的代碼如下:
這裏寫圖片描述

10min完成到這裏.

如果我們在開發中個,需要取出指定的某些信息,可以通過 {dede:arclist flag=’h’} ,擴展使用,就是可以把管理員 推薦或是置頂的信息,取出.
在mysql中,我們經常有這樣一個需求:比如:

friendlist表

id name friendsList
1 aaa 11,112,113
2 bbb 123,3112

需求是: 請查詢出好友包含 11的這個用戶id

想法:
select * from friendlist where friendList like ‘%11%’;
實際我們可以這樣解決
select * from friendlist where find_in_set(‘11’,friendList);

使用{dede:sql} 標籤完成取出任何一張表的信息的功能: ,比如使用sql取出首頁面的更新!->這個標籤的靈活度很高,幾乎可以完成任何的查詢需求.
這裏寫圖片描述

修改首頁面: index.htm
{dede:sql sql=”}
[field:title/]
{/dede}

最後的代碼如下:
這裏寫圖片描述

對sql標籤的一個評價: 該標籤很靈活,缺點就是,如果你需要程序中計算出來的值,默認情況不會返回:
最後,我給大家舉例說明,如何使用 sql標籤靈活的取出今天更新的代碼:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章