美文网首页
Discuz添加自定义数据调用模块

Discuz添加自定义数据调用模块

作者: 二棉酷 | 来源:发表于2017-12-28 16:07 被阅读0次
    一、添加数据调用程序
    二、source/language/block/ 目录下新建模块模板
        source/language/lang_blockclass.php在模块管理里面根据情况创建模块
    
    三、后台更新diy模块分类缓存
    
    四、添加相应的模块模板
    
    具体操作如下:
    一、添加数据调用程序
    1> 在  source/class/block/ 目录下新建文件夹如 :ranklist
    2>
    在ranklist文件夹下,新建 blockclass.php,内容如下:
    
    
    <?php
          if(!defined('IN_DISCUZ')) {
                exit('Access Denied');
          }
          $blockclass = array('name' => lang('blockclass', 'blockclass_ranklist'));
    ?>
    在ranklist文件夹下,新建 block_ranklistmember.php,内容如下:
    
    
    <?php
          if(!defined('IN_DISCUZ')) {
                exit('Access Denied');
          }
    
    class block_ranklistmember extends discuz_block {
    
            public $setting = array();
    
    
            public function block_ranklistmember() {
                  $this->setting = array(.........); //这儿对setting进行初始化
            }
    
            public function name() {
                    // 这儿设置数据来源
                    return lang('blockclass', 'blockclass_ranklist_script_ranklist');
            }
    
            public function blockclass() {
                    // 这儿设置调用模块类型
                    return array('ranklist', lang('blockclass', 'blockclass_ranklist'));
             }
    
             public function fields() {
                      //这儿对fields进行设置,除了discuz本身支持的变量外,只有这儿设置的字段才可以在模板中调用。
                     $fields = array(.........); 
                     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中对应变量的格式。
    
    
    二、source/language/block/ 目录下新建文件
    <?php
          if(!defined('IN_DISCUZ')) {
                exit('Access Denied');
          }
          $lang = array(
                'ranklist_fids' => '所在版块', 
                'ranklist_orderby' => '排序方式', 
                'ranklist_orderby_thread_num' => '按主题数倒序',
                'ranklist_dateline' => '排序时间段', 
                'ranklist_deteline_nolimit' => '不限', 
                'ranklist_deteline_last_week' => '上周', 
                'ranklist_deteline_last_month' => '上个月', 
                'ranklist_startrow' => '起始数据行数', 
                'ranklist_items' => '显示数据条数', 
                'ranklist_items_comment' => '设置一次显示的主题条目数,请设置为大于 0 的整数', 
          );
    
    
    ?>
    
    
        source/language/lang_blockclass.php
    <?php
        ......
            'blockclass_ranklist' => '排行榜类',
            'blockclass_ranklist_forum_member' => '版块用户排行',
            'blockclass_ranklist_script_forum_member' => '高级自定义',
            'blockclass_ranklist_field_author' => '用户名',
            'blockclass_ranklist_field_authorid' => '用户ID',
            'blockclass_ranklist_field_avatar' => '用户头像',
            'blockclass_ranklist_field_avatar_middle' => '用户头像(中)',
            'blockclass_ranklist_field_avatar_big' => '用户头像(大)',
            'blockclass_member_field_authorbio' => '用户自我介绍',
            'blockclass_ranklist_field_thread_num' => '主题数',
            ....
    ?>
    三、进入后台-工具-更新缓存,一定要勾选“DIY 模块分类缓存”,然后开始更新。
    
    
    四、进入后台-门户-模块模板,添加对应的模板。
    

    相关文章

      网友评论

          本文标题:Discuz添加自定义数据调用模块

          本文链接:https://www.haomeiwen.com/subject/ufjvgxtx.html