如果想看的效果好,建議先看看官方的二次開發說明:我不能上傳連接。。悲劇啊 v 9 . help.phpcms.cn/html/dev/[/url]
我這次教材主要是做後臺部分如何建立一個獨立的新模塊,前臺調用數據庫我就不講了,跟其他的都一樣。。。如果以後有時間,我就再講下吧。。。
我做的是想建立一個推薦位,差不多就是廣告吧。。當然很多方法可以實現。。我寫這個關鍵是想讓大家熟悉下,v9的二次開發流程。。。。
我網站有這個切圖的幻燈片。。。我要自定義上面的內容,忘了說我的網站是站羣。。不然我直接寫成靜態就可以。。。所以寫了下面這個模塊,,,下面寫的只是基本功能,,,我只發佈到這裏。。是爲了讓新手門更能理解。。高手不要見笑。。呵呵。。。
演示網站:[u w w w.qunaerwan.com[/url] (完全是業餘網站,做的不專業呵呵。。也沒做完。。。才完成10%呵呵。。。。現在主要做了,站羣,自己做的景點模型。。等。。。。。看wuhan.qunaerwan.com 大家可以交流下。。。。。)
先建立數據庫
--
-- 表的結構 `v9_index`
--
- CREATE TABLE `v9_index` (
- `id` mediumint(4) NOT NULL auto_increment,
- `name` varchar(200) NOT NULL,
- `url` varchar(30) NOT NULL,
- `img` varchar(60) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
第二步因爲我只做演示所以很簡單,在模塊裏只建立了一個模板文件,因爲這個是後臺模操作所以我就不用建立前臺模板文件夾
在index控制器裏寫入以下代碼
- <?php
- defined('IN_PHPCMS') or exit('No permission resources.');
- pc_base::load_app_class('admin', 'admin', 0);
- class index extends admin {
- private $db;
- public function __construct() {
- $this->db = pc_base::load_model('index_model');
- }
- /**
- * 顯示列表
- */
- public function init() {
- $list = $this->db->listinfo('','id desc');
- include $this->admin_tpl('index_list');
- }
- //創建數據
- public function create(){
- if(isset($_POST['dosubmit'])){
- $sql = "INSERT INTO `v9_index` (`name`,`url`,`img`) VALUES ('".$_POST[name]."','".$_POST[url]."','".$_POST[img]."')";
- $this->db->query($sql);
- showmessage('添加成功!', '?m=index&c=index&a=init');
- }else{
- include $this->admin_tpl('index_create');
- }
- }
- //刪除數據
- public function delete(){
- if($_GET['index_id']){
- if(is_array($_GET['index_id'])){
- $_GET['index_id'] = implode(',', $_GET['index_id']);
- $this->db->query("DELETE FROM `v9_index` WHERE `id` in ($_GET[index_id])");
- }else{
- $this->db->query("DELETE FROM `v9_index` WHERE `id` in ($_GET[index_id])");
- }
- showmessage('操作成功', '?m=index&c=index&a=init');
- }else{
- showmessage('參數不正確', '?m=tags&c=tags&a=init');
- }
- }
- }
- ?>
index_model.class.php
寫入以下代碼
- <?php
- defined('IN_PHPCMS') or exit('No permission resources.');
- pc_base::load_sys_class('model', '', 0);
- class index_model extends model {
- public function __construct() {
- $this->db_config = pc_base::load_config('database');
- $this->db_setting = 'default';
- $this->table_name = 'index';
- parent::__construct();
- }
- }
- ?>
在擴展菜單管理 添加菜單。。。我添加了3個
這樣在後臺管理內容裏就多出我創建的推薦
關鍵是這3個參數。。。這3個參數控制點擊這個菜單會執行什麼操作
這個 應該很好理解。。。。這個是我點擊推薦。會執行index模塊index文件的init方法
我上面的init方法就是獲取數據和條用模板
模板文件代碼:
List:
- <?php
- defined('IN_ADMIN') or exit('No permission resources.');
- include $this->admin_tpl('header','admin');
- ?>
- <div class="pad_10">
- <form action="?m=index&c=index&a=create" method="post" name="myform" >
- <table cellpadding="2" cellspacing="1" class="table_form" width="100%">
- <tr>
- <th width="20%">名稱:</th>
- <td><input type="text" name="name" /></td>
- </tr>
- <tr>
- <th width="20%">url:</th>
- <td><input type="text" name="url" /></td>
- </tr>
- <tr>
- <th width="20%">圖片:</th>
- <td><input type="text" name="img" /></td>
- </tr>
- <tr>
- <th></th>
- <td><input type="submit" name="dosubmit" id="dosubmit" value=" <?php echo L('submit')?> "></td>
- </tr>
- </table>
- </form>
- </div>
- </body>
- </html>
- <?php
- defined('IN_ADMIN') or exit('No permission resources.');
- include $this->admin_tpl('header','admin');
- ?>
- <div class="pad_10">
- <form action="?m=index&c=index&a=create" method="post" name="myform" >
- <table cellpadding="2" cellspacing="1" class="table_form" width="100%">
- <tr>
- <th width="20%">名稱:</th>
- <td><input type="text" name="name" /></td>
- </tr>
- <tr>
- <th width="20%">url:</th>
- <td><input type="text" name="url" /></td>
- </tr>
- <tr>
- <th width="20%">圖片:</th>
- <td><input type="text" name="img" /></td>
- </tr>
- <tr>
- <th></th>
- <td><input type="submit" name="dosubmit" id="dosubmit" value=" <?php echo L('submit')?> "></td>
- </tr>
- </table>
- </form>
- </div>
- </body>
- </html>