Dedecms模块开发流程(二)

夏日的草原,早晨空气格外清新,我缠着父亲在草原上漫步。幽幽的草香迎面拂来,红艳艳。朝阳正从地平线上冉冉升起,为辽阔的草原镀上一层金色。草叶上的露珠,像镶在翡翠上的珍珠,闪着五颜六色的光华。我看到草丛中夹着许多粉红色、白色、黄色或是蓝色的不知名的花,把草原装扮得十分美丽。

Dedecms模块开发好代码教程,继续上一篇博客的内容

学习本篇内容,需要对MVC有一点点的基础:M负责与数据库进行数据交互;C是夹在M与V之间,它把从M传送过来的数据显示到V上,反过来,也会把用户在V层的操作修改,通过M完成对数据库的增删改查。一个model对应一张表,一个control对应一个页面。

第四步:创建一个控制器 index.php(仅做测试)

这一步先做个测试,当然实际应用当然也是这么做的,只是我们这里没有用到 model层和view层(第五步我们会使用上)。所以,这一步的目的只是让大家对dedecms mvc的控制器有所理解。

在 control 目录下创建一个名为 index.php的控制器文件,其代码为:

<?php
//注意,所有的控制器类都要继承Model类
class index extends Control{
    function ac_index(){// dedecms mvc中的控制器方法,一律需要添加前缀 ac_ ,这是必须这么做的
        echo "这里是dedecms 模块开发好代码教程";
    }
}
?>

ok,到这里,一个最简单的模块就能使用了。当然,它并没有什么作用,我们来访问看看:

打开网址:http://localhost/emp/ 或 http://localhost/emp/index.php?ct=index&ac=index,如果能输出"这里是dedecms模块开发好代码教程",则说明一切正常,我这里完全没有问题。

下面正式进入实际的应用,包括从数据库读取内容,然后显示到view层上

第五步:把控制器修改一个,我们要通过该入口页面来访问其它的页面,所以添加一个链接(最终要实现的功能是,对数据库中的表进行增删改查),这里只以读取数据为例:

<?php
//注意,所有的控制器类都要继承Model类
class index extends Control{
    function ac_index(){// dedecms mvc中的控制器方法,一律需要添加前缀 ac_ ,这是必须这么做的
        echo "这里是 dedecms 模块开发好代码教程<br />";
        echo "<a rel="nofollow noopener noreferrer" href='index.php?ct=browser'>列出文章</a>";
    }
}
?>

第六步:创建一个浏览文章列表的control控制器类文件browser.php

<?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(这应该是第六步)

<?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

本文Dedecms模块开发流程(二)到此结束。人活着就是为了解决困难。这才是生命的意义,也是生命的资料。逃避不是办法,知难而上往往是解决问题的最好手段。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
dedecms如何实现任意页面调用当前会员信息的方

DedeCMS织梦判断是否有二级栏目输出HTML代码

织梦dedecms dede:arclist输出取消换行符

dedecms文章添加字段填栏目id,内容页调用字段里的栏目文章

dedeCMS首页列表页文章页调用tag的方法