Dedecms模塊開發(fā)教程,繼續(xù)上一篇博客的內(nèi)容
學(xué)習(xí)本篇內(nèi)容,需要對MVC有一點(diǎn)點(diǎn)的基礎(chǔ):M負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互;C是夾在M與V之間,它把從M傳送過來的數(shù)據(jù)顯示到V上,反過來,也會把用戶在V層的操作修改,通過M完成對數(shù)據(jù)庫的增刪改查。一個model對應(yīng)一張表,一個control對應(yīng)一個頁面。
第四步:創(chuàng)建一個控制器 index.php(僅做測試)
這一步先做個測試,當(dāng)然實(shí)際應(yīng)用當(dāng)然也是這么做的,只是我們這里沒有用到 model層和view層(第五步我們會使用上)。所以,這一步的目的只是讓大家對dedecms mvc的控制器有所理解。
在 control 目錄下創(chuàng)建一個名為 index.php的控制器文件,其代碼為:
1
ok,到這里,一個最簡單的模塊就能使用了。當(dāng)然,它并沒有什么作用,我們來訪問看看:
打開網(wǎng)址:http://localhost/emp/ 或 http://localhost/emp/index.php?ct=index&ac=index,如果能輸出"這里是dedecms模塊開發(fā)教程",則說明一切正常,我這里完全沒有問題。
下面正式進(jìn)入實(shí)際的應(yīng)用,包括從數(shù)據(jù)庫讀取內(nèi)容,然后顯示到view層上
第五步:把控制器修改一個,我們要通過該入口頁面來訪問其它的頁面,所以添加一個鏈接(最終要實(shí)現(xiàn)的功能是,對數(shù)據(jù)庫中的表進(jìn)行增刪改查),這里只以讀取數(shù)據(jù)為例:
1
第六步:創(chuàng)建一個瀏覽文章列表的control控制器類文件browser.php
01
第七步:創(chuàng)建一個model類文件emp.php(這應(yīng)該是第六步)
01
第八步:在 /模塊名/templates/default/ 目錄下,創(chuàng)建模板文件mytemp.html
學(xué)習(xí)本篇內(nèi)容,需要對MVC有一點(diǎn)點(diǎn)的基礎(chǔ):M負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互;C是夾在M與V之間,它把從M傳送過來的數(shù)據(jù)顯示到V上,反過來,也會把用戶在V層的操作修改,通過M完成對數(shù)據(jù)庫的增刪改查。一個model對應(yīng)一張表,一個control對應(yīng)一個頁面。
第四步:創(chuàng)建一個控制器 index.php(僅做測試)
這一步先做個測試,當(dāng)然實(shí)際應(yīng)用當(dāng)然也是這么做的,只是我們這里沒有用到 model層和view層(第五步我們會使用上)。所以,這一步的目的只是讓大家對dedecms mvc的控制器有所理解。
在 control 目錄下創(chuàng)建一個名為 index.php的控制器文件,其代碼為:
1
<?php//注意,所有的控制器類都要繼承Model類class index extends Control{ function ac_index(){// dedecms mvc中的控制器方法,一律需要添加前綴 ac_ ,這是必須這么做的 echo "這里是dedecms 模塊開發(fā)教程"; }}?> |
ok,到這里,一個最簡單的模塊就能使用了。當(dāng)然,它并沒有什么作用,我們來訪問看看:
打開網(wǎng)址:http://localhost/emp/ 或 http://localhost/emp/index.php?ct=index&ac=index,如果能輸出"這里是dedecms模塊開發(fā)教程",則說明一切正常,我這里完全沒有問題。
下面正式進(jìn)入實(shí)際的應(yīng)用,包括從數(shù)據(jù)庫讀取內(nèi)容,然后顯示到view層上
第五步:把控制器修改一個,我們要通過該入口頁面來訪問其它的頁面,所以添加一個鏈接(最終要實(shí)現(xiàn)的功能是,對數(shù)據(jù)庫中的表進(jìn)行增刪改查),這里只以讀取數(shù)據(jù)為例:
1
<?php//注意,所有的控制器類都要繼承Model類class index extends Control{ function ac_index(){// dedecms mvc中的控制器方法,一律需要添加前綴 ac_ ,這是必須這么做的 echo "這里是 dedecms 模塊開發(fā)教程<br />"; echo "<a href='index.php?ct=browser'>列出文章</a>"; }}?> |
第六步:創(chuàng)建一個瀏覽文章列表的control控制器類文件browser.php
01
<?phpclass browser extends Control{ //需要特別說明,在dede的MVC中的控制器方法,需要以ac_開頭 function ac_index(){ /** * 調(diào)用Model的方法,固定的調(diào)用形式,讀取數(shù)據(jù)庫內(nèi)容 * $this->Model('model名稱')->方法(); **/ $res = $this->Model('emp')->listart(); //返回結(jié)果賦給一個全局?jǐn)?shù)組,這樣,模板文件便可讀取 $GLOBALS['res'] = $res; //指定模板并顯示出來 $this->SetTemplate('mytemp.html');//指定模板(不需要指定路徑,默認(rèn)在/模塊名/templates/default/下) $this->Display();//顯示 }}?> |
第七步:創(chuàng)建一個model類文件emp.php(這應(yīng)該是第六步)
01
<?php//一個model操作一張表。通過不同的方法,來對表進(jìn)行增刪改查class emp extends Model{ function listart(){ $query = "select id,tilte,pubdate from dede_archives limit 0,10"; $this->dsql->Execute('me', $query);//參考dedecms的數(shù)據(jù)庫類 $rows = array(); while($row = $this->dsql->getarray()){ $rows[] = $row; } return $rows; }}?> |
第八步:在 /模塊名/templates/default/ 目錄下,創(chuàng)建模板文件mytemp.html



















