zoukankan      html  css  js  c++  java
  • X2.5 添加自定义数据调用模块(简单方法)

    Discuz!X系列的diy功能还是相当不错的,在对其进行二次开发的过程中,或许需要加入新的数据调用模块,这样可以使你开发的功能模块也像原来的模块一样,只需要点点鼠标,填写一些简单的信息,就可以在各个页面的各个位置显示你想显示的数据啦。

    以下就目前最新版X2.5做一个简答的介绍:
    大致可以分为以下三个步骤:
    一、添加数据调用程序
    二、后台更新diy模块分类缓存
    三、添加相应的数据模板

    具体操作如下:
    一、添加数据调用程序
    1> 在  source/class/block/ 目录下新建文件夹如 :news
    2>
    在news文件夹下,新建 blockclass.php,内容如下:

    <?php
    if(!defined('IN_DISCUZ')) {
        exit('Access Denied');
    }
    $blockclass = array(
        'name' => lang('blockclass', 'blockclass_resource'),
    );
    ?>

    再在news文件夹下,新建 block_news.php,内容如下:

    <?php
    if(!defined('IN_DISCUZ')) {
        exit('Access Denied');
    }
    
    class block_news extends discuz_block {
        
        public $setting = array();
    
        public function block_news() {
            $this->setting = array(.........); //这儿对setting进行初始化
        }
        
        public function name() {
                    // 这儿设置数据来源
            return lang('blockclass', 'blockclass_news_script_news');
        }
        
        public function blockclass() {
                    // 这儿设置调用模块类型
            return array('news', lang('blockclass', 'blockclass_news'));
        }
        
        public function fields() {
            $fields = array(.........); //这儿对fields进行设置,除了discuz本身支持的变量外,只有这儿设置的字段才可以在模板中调用。
                    return $fields;
        }
        
        public function getsetting() {
            return $this->setting;
        }
    
        public function getdata($style, $parameter) {
            $list = array(.........);  // 这儿根据实际情况从数据库或许相应的数据
                    return array('html' => '', 'data' => $list);
        }
    }
    
    ?>

    以上代码中 lang(....),均为语言处理,这里略过。还有 $setting,$fields,$list的格式可以参考 source/class/block/member/block_member.php中对应变量的格式。

    二、进入后台-工具-更新缓存,一定要勾选“DIY 模块分类缓存”,然后开始更新。

    三、进入后台-门户-模块模板,在这个下添加你对应的模板。

  • 相关阅读:
    基于矩阵式产品管理的奖金如何发放?
    再谈技术开发项目与产品开发项目的差异
    如何培养合格的产品经理?
    技术规划变革管理——共创力典型咨询案例
    研发人员任职资格管理深圳公开课成功举办!
    深圳市共创力《产品需求挖掘和规划》深圳公开课!(2019.12.6~7)
    技术规划与路标开发实践公开课在深圳成功举办!
    产品路标开发是企业持续成功的关键路径
    什么是技术规划(TPP)?
    什么是测试系统工程师(TSE)?
  • 原文地址:https://www.cnblogs.com/lyg0126/p/6858689.html
Copyright © 2011-2022 走看看