DEDE模块MVC框架基本说明,织梦CMSv5.7MVC开发框架

织梦MVC开发框架是一个精简、迷你的web开发框架,用这个开发框架可以编写基于织梦内容管理系统的扩展功能、模块(插件),甚至可以将其分离出来开发博客、BBS、SNS等。

目录结构说明:
|_app
|___control 控制器(C)
|___model 模型(M)
|___templates 视图模板(V)
|___libraries 类库
|___data 配置
|___data\helper 小助手
|___static 样式,js,图片文件夹
|___index.php 统一入口文件

统一入口解析地址
http://你的网址/app/index.php?ct=index&ac=save
ct=index:控制器入口,对应到目录control中的index.php
如果RunApp()指定了第三个参数,例如问答中RunApp($ct, $ac , ‘admin‘),说明ct=index:控制器入口,对应到目录control/admin中的index.php
ac=save:操作,对应文件index.php中的class index中function ac_save()
控制器中将相关功能操作都存放至一个文件中,例如留言板,可以使用:
?ct=guestbook&ac={do}统一完成,这样也便于静态化部署.

1.控制器开发说明(control):
基本代码结构:

class yourctname extends Control
{
public function ac_save()
{

}
}

控制器可以选择继承一个基类:Control,这个类对应的文件名是/include/control.class.php,这里面含有基类的相关操作说明,这里有几个常用方法:

$control->Model(); 
//载入一个模型。例如问答模块中index.php中的
$this->question =
$this->Model(‘mquestion‘),就是在载入了mquestion这个模型。然后我们就可以通
过$this->question来调用模型相应操作。实现数据的插入,更新等等操作。调用类的名字可以随便定义,但要保证没有冲突。模型的文件放
在model目录中。

$control->Libraries(); 
//载入一个类。有时开发我们需要一个系统中不存在的类时,我们可以通过这个方法来载入一个自己的类。具体的方法和模型一样。类放在libraries目录中。

$control->helper(); 
//载入一个小助手。引入小助手是为了更好的帮助我们存放和管理需要用到的Function。
具体的方法和模型一样。小助手放在data\helper目录中。

$control->SetTemplate(); 
$control->SetTemplet(); // 设定当前操作需要指定的模板;

$control->SetVar($k, $v); // 设定模板需要解析的变量,在模板中使用{dede:var.name /}进行调用.

GLOBALS[‘k‘] = $k; 
// 设定模板需要的变量,在模板中可以直接用<?php echo $k;?>方式输出(问答模块基本上都是采用这样的方式输出),这种方式比较适合处理一些复杂的数据,例如数组。

$control->GetVar($k); // 获取设定的模板变量
$control->Display(); // 显示模板解析后的内容
$control->SaveTo(); // 将内容保存到文件

控制器中关于模板的使用操作可以参看DedeTemplate模板引擎,具体可以参看公司内部开发文档中模板说明相关章节.

模型开发说明(Model):

class mtype extends Model
{
public function get_one()
{

}
}

控制器可以选择继承一个基类:Model,这个类对应的文件名是/include/model.class.php,这里面含有数据库类的相关操作说明,这里只有一个方法:
$model->dsql(); 
//实例化数据库操作类。  

模板标签调用说明:
如果在控制器中通过$control->SetVar($k, $v); 这种方式设定的参数,我们通过标签 {dede:var.name /}的方式进行调用。
如果在控制器中通过GLOBALS[‘k‘] = $k;这种方式设定的参数,我们通过标签 {dede:global.name/}的方式进行调用或者直接采用php的方式进行输出。

时间: 2024-10-09 15:41:30

DEDE模块MVC框架基本说明,织梦CMSv5.7MVC开发框架的相关文章

织梦dede如何去除Power by DedeCms

自从dedecms织梦系统更新到6.7日的版本,底部版权信息调用标签{dede:global.cfg_powerby/}会自动加上织梦官方的链接[Power by DedeCms ],想必很多新用户使用中都想去除这个官方的链接,由于这是官方的作为,本文只是提供一个技术的交流,并不鼓励大家去除底部的链接.好了,回归正题,大家知道,进入后台在后台的系统-系统参数有个网站版权信息,在这里并不能找到官方的链接,由此可看,这是被官方进行了加密处理了,想要去掉这个链接就需要不调用{dede:global.c

织梦解析模板之灵活应用视图类

初步对织梦cms进行了解,忍不住要动手试一试了.织梦cms也是采用mvc的设计模式,它的核心代码,大部分存在于include目录里.包括控制器. 模型.视图类.模板引擎.标签库.公用函数等.下面我们就简单的创建一个属于自己的php页面处理文件,在文件里,用织梦自身的模板引擎和视图,去解析我预先创建好的静态html文件.在此,我简单的写了如下几段代码: 第一步,创建自己的php页面处理文件,在这里,我在根目录下创建demo.php文件,文件内容如下: ? 1 2 3 4 5 6 7 8 9 10

二次开发-织梦建站

1,下载dedecms,安装好.2,修改dede文件夹名即后台,templets下放模板,模板文件后缀名改为.htm3,系统/系统参数设置/模板相应的默认风格.4,生成/更新主页HTML/选择相应的主页模板,更新主页,预览5,调用标签更改静态资源路径,百度:织梦标签生成器,6,添加栏目.修改封面页通常用来做单页面,如公司简介 dede数据库配置文件所在路径为:/data/common.inc.php 一:调用当前栏目名称:{dede:field name='typename'/} 二:织梦tag

织梦后台文章页标签调用大全

合理的利用文章调用标签,不禁可以加强页面的用户体验,也可以使网站的结构布局更加合理,充分的展示我们想要推广的文章,增加文章的曝光率.   虽然之前有发过一篇织梦文章标签,但是我习惯性的把首页,列表页以及文章页标签都保存在不同的文档里,这样用起来更方便一些.下面把整理了一份关于织梦文章样式属性的调用标签跟大家分享一下,大家可以按照自己的习惯进行整理. 1.最新文章调用标签 {dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='

织梦CMS实现多条件筛选功能

用织梦实现筛选的功能,其实主要就是运用到了织梦的高级搜索功能,然后用ajax去post替换掉本来的结果就可以了. 其实筛选的话,主要有两个问题需要解决,一个是前台的筛选实现,一个是后台根据前台的点击,反馈出相应的结果. 于是在网上搜索了N多的资料了之后,先实现前台的功能,就是你点了之后会有一个筛选的效果出来,当然,也只是一个效果.具体可以参照:jquery仿京东筛选效果.下面就一步一步用织梦来实现这样的功能. 首先我们先在后台自定义模型(自定义模型都不会的同学,可以直接去面壁思过了) 看到参照网

在织梦channel标签中如何调用栏目seotitle

我们在使用织梦5.7系统做网站时,会经常用到{dede:channel}标签,有时我们需要调用栏目seotitle字段.比如说: {dede:channel type=’sun’ typeid=’1’} <a href=’[field:typelink/]’>[field:typename/]</a> {/dede:channel} [field:typename/]这里要使用{dede:field.seotitle /},也就是说在织梦{dede:channel}标签中调用栏目s

织梦调用摘要

1.列表中需要调用文章摘要的可以{dede:arclist typeid='' titlelen='15' orderby='pubdate' row='3'}<li>·<a href="[field:arcurl/]" title="[field:fulltitle/]">[field:title/]</a><p>[field:description function='cn_substr(@me,110)'/]&l

DEDE织梦CMS留言簿模块中文无法保存的问题

出于个人爱好,最近一直研究PHP,顺便帮朋友解决网站问题接触到了织梦CMS,针对留言簿模块,出现中文无法保存,但也不报错的问题. 首先想到的肯定是字符集编码的问题,无奈对织梦不太了解,逐个排查输出变量问题,发现代码的问题所在. 文件目录:include/helpers/filter.helper.php,修改以下代码 文件中调用的htmlspecialchars函数,没有后边两个参数,加上之后,留言簿保存文件全部正常. 当然,第三个参数,看你的网站当前字符集编码是什么,按需修改.

织梦框架

导读:函数RunApp分析: function RunApp($ct,$ac=,$directory=) $ct:控制器 $ac:操作事件 $path:指定控制器所在的目录 该函数的执行流程: 1.对$ct,$ac字符串做非法字符过滤,把非数字和字母的都替换为空 2.找控制器对应的目录文件,require进来 3.动态生成对象 函数RunApp分析: function RunApp($ct,$ac='',$directory='') $ct:控制器 $ac:操作事件 $path:指定控制器所在的