wuzhicms 模块开发

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

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

再app下面创建

如:content

下面包含文件:

前台文件的创建:

看下 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‘);/** * 网站首页 */class index{    private $siteconfigs;   public function __construct() {        $this->siteconfigs = get_cache(‘siteconfigs‘);        $this->db = load_class(‘db‘);   }

    /**     * 网站首页     */    public function index() {        $isindex = 1;        $siteconfigs = $this->siteconfigs;        $seo_title = $siteconfigs[‘sitename‘];        $seo_keywords = $siteconfigs[‘seo_keywords‘];        $seo_description = $siteconfigs[‘seo_description‘];        $categorys = get_cache(‘category‘,‘content‘);        include T(‘content‘,‘index‘,TPLID);   }

    /**     * 内容页面     * url规则 /index.php?v=show&cid=24&id=79     */    public function show() {        $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);        }

        require get_cache_path(‘content_format‘,‘model‘);        $form_format = new form_format($model_r[‘modelid‘]);        $data = $form_format->execute($data);        foreach($data as $_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`<‘$id‘ AND `status`=9",‘*‘,0,‘id DESC‘);        include T(‘content‘,$_template,$project_css);    }

    /**     * 栏目列表     */    public function listing() {        $cid = isset($GLOBALS[‘cid‘]) ? intval($GLOBALS[‘cid‘]) : MSG(L(‘parameter_error‘));        //站点信息        $siteconfigs = $this->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);                }            }        }        include T(‘content‘,$_template,$project_css);    }}?>

完整的访问路径:
http://www.wuzhicms.com/index.php?m=content&f=index&v=listing&cid=2

通过参数:m=content //模块名
f=index //文件名(控制器)
v=方法名(视图)

这个就是MCV架构。

后台文件的创建:

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

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

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

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

后台文件的编写:

后台文件一定要放置到 admin目录。

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

具体可以参考下:

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‘);
    }
时间: 2024-10-14 05:19:00

wuzhicms 模块开发的相关文章

微控工具xp模块-开发版[微信(wechat)二次开发模块]

http://repo.xposed.info/module/com.easy.wtool 微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方便开发者用微信做一些扩展功能(如微信群发.多群直播等...) 目前支持功能: 发文本消息 发图片消息 发语音消息 发视频消息 获取微信好友列表 群列表 支持群发消息 支持消息转发(目前支持文本.图片.语音.视频.图文消息转发) 群管理功能(建群.加人.踢人.设置公告.改群名.退群.解散群) [注:本模块

第二篇 基于微擎的模块开发—PHP

从陌生到如今能勉强完成第一个微网站模块的实现.也算是一个小小的进步,从设计数据库到,返回数据,前端模版渲染 每一点都是有点难度的.所以我想总结一下,我是如何实现一个微擎模块. 第一,首先得分析某个模块的想实现什么需求,根据需求设计合理的数据库结构. 第二,了解微擎的结构,运行流程,设计模块结构. 第三,重点就是site.php , 完成site.php 需要一定的php的编程能力, 第四,site.php 其中 通过 pdo 从数据库的获取我们想得到数据源. 微擎已封装其路由机制, doWeb

VB 核心编程及通用模块开发 笔记1

前言:学习任何编程语言.编程工具的目的不外乎解决生活问题,能够快速.高效解决问题的方式就是不错的方式,至于选择什么“工具”,众位看官看着办,本人虽然有过3年vb开发经验,但是一直没有深入学习,现已购买 <张宁著 老兵新传  核心编程及通用模块开发>,深入学习vb开发,继续将vb发扬光大. 一.知识准备 本章从API函数开始介绍vb下如何使用api函数,模块.类模块的编写.主要还是阐述的一种思想,通用模块开发,编写的模块能够通用,多次使用,尽量要降低错误,以达到重复利用目的,从通篇介绍来看,以后

服务器架设笔记——Apache模块开发基础知识

通过上节的例子,我们发现Apache插件开发的一个门槛便是学习它自成体系的一套API.虽然Apache的官网上有对这些API的详细介绍,但是空拿着一些零散的说明书,是很难快速建立起一套可以运行的系统.(转载请指明出于breaksoftware的csdn博客) 为了实现最基础的URL解析等功能,我把<Apache模块开发指南>一书粗略了翻看了两遍,以利于迅速了解Apache模块编程的相关知识.至于书中具体的知识点,我并不在此赘述.但是为了便于大家了解之后遇到的各种相关的知识点,我大致罗列几条(摘

Nginx Http模块开发

关于Nginx Http模块开发的文章非常少,只有Emiler的那篇关于Http模块的文章,但是那篇文章里面,并没有说到事件型的模块如何进行开发.而且文章里面提到的内容实在是让人有点意犹未尽.因此,对于Http事件型模块的开发进行了一些总结,与大家分享.但是,无论如何,要进行Nginx模块开发,最好的方法还是找到相似性较大的模块的代码进行参考,多试多看. 通常,一个Http模块均是有以下的几个部分组成: 1.模块配置结构体:(configure structure) 负责存储配置项的内容,每一条

Clover周报模块 -- 开发总结

2014年7月8日 00:16:05 一.切图 这次开发,切图花了不少时间,样式是用scss写的,第一次用,不过用着用着就发现它的强大,层级.作用域.重用等都非常的方便,还有考拉神器,用着真是爽!不过,改起样式来就蛋疼了,通过浏览器看到的是css样式,然后从css里找到它是scss的第几行,多了一层转折,不能通过浏览器直接看到scss的样式,略感麻烦. 二.布局 整个周报页面是在一张HTML页面上实现的,用Ajax请求各种数据,然后展现到页面的不同位置.因为神框架Avalon的存在,数据的处理变

Titanium Module 模块开发(二)蓝牙控制 Module

今天 ,正好项目需要添加蓝牙的控制功能,我去Titianium 文档搜了一下,发现 只有Tizen 系统有,其他的都没有,只能自己做Module. 借这个机会,记录一下蓝牙控制Module 的开发过程中遇到的问题和一些知识点. 编写Module 建立项目 首先 ,建立一个Module 项目,不会的话参考:Titanium-Modules 模块开发 (一) :模块开发基础 创建完成后会是这样: 添加蓝牙相关方法 打开BluetoothadapterModule.java 文件 可看到如下代码: 2

DNN模块开发之利器篇:七种武器

我们在进行DNN模块开发时经常需要调用Dotnetnuke.dll中的方法函数,模块开发用到DNN的方法函数会让你的开发更加得心应手,下面我们就来介绍一下. 1) PortalModuleBase 所属命名空间:DotNetNuke.Entities.Modules 这是一个开发DNN模块所必须继承的基类,标志性的基类,在此基类中,你可以得到DNN所为你封装的一些模块基本信息,毋需你多费周折,其中包括当前用户UseID,UserInfo,TabID,ModulePath,ModuleConfig

Nginx模块开发入门(转)

前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前淘宝内