本教程主要是做后台部分如何建立一个独立的新模块,前台调用数据库我就不讲了,跟其他的都一样。
我做的是想建立一个推荐位,差不多就是广告吧。当然很多方法可以实现。我写这个关键是想让大家熟悉下,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>
完整代码下载地址。