Dedecms织梦模板扩展模块开发流程教程(二)
Dedecms模块开发教程,继续上一篇博客的内容
学习本篇内容,需要对MVC有一点点的基础:M负责与数据库进行数据交互;C是夹在M与V之间,它把从M传送过来的数据显示到V上,反过来,也会把用户在V层的操作修改,通过M完成对数据库的增删改查。一个model对应一张表,一个control对应一个页面。
第四步:创建一个控制器 index.php(仅做测试)
这一步先做个测试,当然实际应用当然也是这么做的,只是我们这里没有用到 model层和view层(第五步我们会使用上)。所以,这一步的目的只是让大家对dedecms mvc的控制器有所理解。
在 control 目录下创建一个名为 index.php的控制器文件,其代码为:
1
<?php
//注意,所有的控制器类都要继承Model类
class index extends Control{
function ac_index(){// dedecms mvc中的控制器方法,一律需要添加前缀 ac_ ,这是必须这么做的
echo "这里是dedecms 模块开发教程";
}
}
?>
ok,到这里,一个最简单的模块就能使用了。当然,它并没有什么作用,我们来访问看看:
打开网址: 或 ?ct=index&ac=index,如果能输出"这里是dedecms模块开发教程",则说明一切正常,我这里完全没有问题。
下面正式进入实际的应用,包括从数据库读取内容,然后显示到view层上
第五步:把控制器修改一个,我们要通过该入口页面来访问其它的页面,所以添加一个链接(最终要实现的功能是,对数据库中的表进行增删改查),这里只以读取数据为例:
1
<?php
//注意,所有的控制器类都要继承Model类
class index extends Control{
function ac_index(){// dedecms mvc中的控制器方法,一律需要添加前缀 ac_ ,这是必须这么做的
echo "这里是 dedecms 模块开发教程<br />";
echo "<a href='index.php?ct=browser'>列出文章</a>";
}
}
?>
第六步:创建一个浏览文章列表的control控制器类文件browser.php
01
<?php
class browser extends Control{
//需要特别说明,在dede的MVC中的控制器方法,需要以ac_开头
function ac_index(){
/**
* 调用Model的方法,固定的调用形式,读取数据库内容
* $this->Model('model名称')->方法();
**/
$res = $this->Model('emp')->listart();
//返回结果赋给一个全局数组,这样,模板文件便可读取
$GLOBALS['res'] = $res;
//指定模板并显示出来
$this->SetTemplate('mytemp.html');//指定模板(不需要指定路径,默认在/模块名/templates/default/下)
$this->Display();//显示
}
}
?>
第七步:创建一个model类文件emp.php(这应该是第六步)
01
<?php
//一个model操作一张表。通过不同的方法,来对表进行增删改查
class emp extends Model{
function listart(){
$query = "select id,tilte,pubdate from dede_archives limit 0,10";
$this->dsql->Execute('me', $query);//参考dedecms的数据库类
$rows = array();
while($row = $this->dsql->getarray()){
$rows[] = $row;
}
return $rows;
}
}
?>
第八步:在 /模块名/templates/default/ 目录下,创建模板文件mytemp.html
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
- 织梦dede首页列表页获取文章对应的tag标签
- 织梦dede导航栏目顶级和二级判断二级输出不同url
- 织梦dede标签array runphp静态生成乱码BUG解决方法
- 织梦dede如何禁止会员发布文章内容带超链接
- 织梦ajax跨域提交自定义表单和跨域验证码问题
- 织梦CMS MIP文章内容页图片适配百度MIP规范
- 织梦CMS时间格式实现XX秒前、XX分钟前、XX天前
- 织梦DedeCMS更新系统缓存增加清理沉余缓存的功能
- 织梦CMS让channelartlist标签支持currentstyle属性的
- 织梦dede自带编辑器替换百度ueditor编辑器
- 织梦DEDECMS整站动态化或整站静态化设置方法
- 织梦dede 模板路径templets目录都有什么?