phpcms v9模块开发基础教程

发布时间:2021-01-13编辑:脚本学堂
本教程主要是做后台部分如何建立一个独立的新模块,前台调用数据库我就不讲了,跟其他的都一样。

本教程主要是做后台部分如何建立一个独立的新模块,前台调用数据库我就不讲了,跟其他的都一样。
我做的是想建立一个推荐位,差不多就是广告吧。当然很多方法可以实现。我写这个关键是想让大家熟悉下,v9的二次开发流程。

先建立数据库
 

复制代码 代码如下:
--
-- 表的结构 `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目录

第二步因为我只做演示所以很简单,在模块里只建立了一个模板文件,因为这个是后台模操作所以我就不用建立前台模板文件夹

在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');
  }
   }
}
?>


在D:AppServwwwphpcmsphpcmsmodel创建数据模型文件

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>

index_create.tpl.php
   

复制代码 代码如下:
<?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>
完整代码下载地址。