php mcv,模块开发_二次开发_五指CMS网站管理系统(wuzhicms)-门户网站、B2b企业黄页、企业网站、手机建站、手机网站、微信接入...

本文详细介绍了五指CMS的模块开发流程,包括目录结构理解、前台和后台文件的创建,以及MCV架构的应用。内容涉及首页和内容页面的展示逻辑,以及后台管理菜单的添加和文件编写。此外,还提供了URL访问规则和模板渲染的实现细节。
摘要由CSDN通过智能技术生成

模块开发

首先,模块开发需要了解五指cms的目录结构:

ab47977d7843c1bc627cb88e815d93b6.png

然后,我们需要新增加一个模块目录:

再app下面创建

da47f310d93ddbd7d52e3736e0499c30.png

如:content

下面包含文件:

51ef5c22884c591540489a7ec47bd651.png

前台文件的创建:

看下 index.php 的内容:<?php // +----------------------------------------------------------------------// | wuzhicms [ 五指互联网站内容管理系统 ]// | Copyright (c) 2014-2015 http://www.wuzhicms.com All rights reserved.// | Licensed ( http://www.wuzhicms.com/licenses/ )// | Author: wangcanjia// +----------------------------------------------------------------------defined('IN_WZ')or exit('No direct script access allowed');load_function('content','content');/*** 网站首页*/classindex{private$siteconfigs;public function__construct() {$this->siteconfigs= get_cache('siteconfigs');$this->db= load_class('db');}/*** 网站首页*/public functionindex() {$isindex=1;$siteconfigs=$this->siteconfigs;$seo_title=$siteconfigs['sitename'];$seo_keywords=$siteconfigs['seo_keywords'];$seo_description=$siteconfigs['seo_description'];$categorys= get_cache('category','content');includeT('content','index',TPLID);}/*** 内容页面* url规则 /index.php?v=show&cid=24&id=79*/public functionshow() {$siteconfigs=$this->siteconfigs;$id=isset($GLOBALS['id']) ?intval($GLOBALS['id']) : MSG(L('parameter_error'));$cid=isset($GLOBALS['cid']) ?intval($GLOBALS['cid']) : MSG(L('parameter_error'));$categorys= get_cache('category','content');//查询数据$category= get_cache('category_'.$cid,'content');$models= get_cache('model_content','model');$model_r=$models[$category['modelid']];$master_table=$model_r['master_table'];$data=$this->db->get_one($master_table,array('id'=>$id));if(!$data||$data['status']!=9) MSG('信息不存在或者未通过审核!');if($model_r['attr_table']) {$attr_table=$model_r['attr_table'];if($data['modelid']) {$modelid=$data['modelid'];$attr_table=$models[$modelid]['attr_table'];}$attrdata=$this->db->get_one($attr_table,array('id'=>$id));$data=array_merge($data,$attrdata);}requireget_cache_path('content_format','model');$form_format=newform_format($model_r['modelid']);$data=$form_format->execute($data);foreach($dataas$_key=>$_value) {$$_key=$_value['data'];}if($template) {$_template=$template;}elseif($category['show_template']) {$_template=$category['show_template'];}elseif($model_r['template']) {$_template=TPLID.':'.$model_r['template'];}else{$_template=TPLID.':show';}$styles=explode(':',$_template);$project_css=isset($styles[0]) ?$styles[0] :'default';$_template=isset($styles[1]) ?$styles[1] :'show';$elasticid= elasticid($cid);$seo_title=$title.'_'.$category['name'].'_'.$siteconfigs['sitename'];$seo_keywords= !empty($keywords) ?implode(',',$keywords) :'';$seo_description=$remark;//上一页$previous_page=$this->db->get_one($master_table,"`cid`= '$cid' AND `id`>'$id' AND `status`=9",'*',0,'id ASC');//下一页$next_page=$this->db->get_one($master_table,"`cid` = '$cid' AND `id`siteconfigs;//栏目信息$categorys= get_cache('category','content');$category= get_cache('category_'.$cid,'content');//分页初始化$page=max(intval($GLOBALS['page']),1);//分页规则$urlrule='';if($category['child']) {$_template=$category['category_template'];}else{$_template=$category['list_template'];}if(empty($_template))$_template=TPLID.':list';$styles=explode(':',$_template);$project_css=isset($styles[0]) ?$styles[0] :'default';$_template=isset($styles[1]) ?$styles[1] :'show';$seo_title=$category['name'].'_'.$siteconfigs['sitename'];$seo_keywords=$category['seo_keywords'];$seo_description=$category['seo_description'];$elasticid= elasticid($cid);$model_r= get_cache('model_content','model');$master_table=$model_r[$category['modelid']]['master_table'];if($category['type']==1) {$r=$this->db->get_one($master_table,array('cid'=>$cid));if($r) {extract($r,EXTR_SKIP);if($attr_table=$model_r[$category['modelid']]['attr_table']) {$r=$this->db->get_one($attr_table,array('id'=>$id));extract($r,EXTR_SKIP);}}}includeT('content',$_template,$project_css);}}?>

完整的访问路径:

http://www.wuzhicms.com/index.php?m=content&f=index&v=listing&cid=2

通过参数:m=content //模块名

f=index //文件名(控制器)

v=方法名(视图)

这个就是MCV架构。

后台文件的创建:

首先登录后台,添加后台菜单:

路径:维护界面>后台菜单管理>

812b0db81cc34b35adec46bb12f6abc1.png

在扩展模块栏目:添加子菜单。

3bee2b647b2a220dcb57328020c95202.png

添加完成后,就会在对应的菜单下面找到。

318d44f19ec4f8d9e7a7a5060b232454.png

后台文件的编写:后台文件一定要放置到 admin目录。

在:模块目录下:coreframe/app/link/admin/下面添加文件。

342bdc1275159d90308f73f4233df7d2.png

具体可以参考下:defined('IN_WZ') or exit('No direct script access allowed');

/**

* 友情链接

*/

load_class('admin');

class index extends WUZHI_admin {

private $db;

function __construct() {

$this->db = load_class('db');

}

/**

* 友情链接列表

*/

public function listing() {

$page = isset($GLOBALS['page']) ? intval($GLOBALS['page']) : 1;

$page = max($page,1);

$result = $this->db->get_list('link', '', '*', 0, 20,$page,'sort ASC');

$pages = $this->db->pages;

$total = $this->db->number;

include $this->template('listing');

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
五指cms由原phpcms V9 负责人王参加主导开发,前后台界面采用html5+css3技术,可以进行跨屏、跨设备管理内容,极大的提升了用户体验。五指CMS主要包含以下功能点: 一、模型化设计: 1、全站统一模型,方便二次开发; 2、独创共享模型,独立模型,大小数据全部按需存储; 3、支持10多种不同类型的字段添加:如,文本字段,超级字段,地图字段,滑动条字段,组图字段,下载字段,URL加密字段等。 二、数据读写分离: 1、默认支持数据读写分离; 2、支持1台主数据,多台从数据库; 3、支持按照权重分配数据资源。 三、安全性设计: 1、支持缓存文件目录独立设置; 2、支持www目录与核心代码分离部署; 3、支持cookie加密存储; 4、支持后台程序文件与前台文件分离; 5、支持全局Mysql注入过滤; 6、支持上传目录自定义,禁用php执行; 7、后台登录采用session+session验证码,记录所有登录历史; 8、后台管理日志记录; 9、是否允许修改模版需要有服务器文件管理权限; 10、所有菜单都需要进行权限验证; 四、性能设计: 1、缓存支持内存缓存,如:memcache 缓存; 2、不重复生成和检查模版缓存,提升性能; 五、移动优先设计: 1、默认支持移动端访问自适应; 2、无需重复发文章,文章一键推送。 五指cms v1.4 更新日志: 新增内容手动分页 新增百度地图 新增订单管理模块 新增订单地址管理 增加Microsoft YaHei字体 新增推广邀请模块 新增私密下载,下载函数 详细说明:http://php.662p.com/thread-583-1-1.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值