具体操作如下:

一、添加数据调用程序
1> 在  source/class/block/ 目录下新建文件夹如 :news
2>
在news文件夹下,新建 blockclass.php,内容如下:
  1. <?php
  2. if(!defined(‘IN_DISCUZ’)) {
  3.         exit(‘Access Denied’);
  4. }
  5. $blockclass = array(
  6.         ‘name’ => lang(‘blockclass’, ‘blockclass_resource’),
  7. );
  8. ?>

复制代码

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

  1. <?php
  2. if(!defined(‘IN_DISCUZ’)) {
  3.         exit(‘Access Denied’);
  4. }
  5. class block_news extends discuz_block {
  6.         public $setting = array();
  7.         //默认初始化函数,名称与class类名相同
  8.         public function block_news() {
  9.                 $this->setting = array(………); //这儿对setting进行初始化
  10.         }
  11.         public function name() {
  12.                 // 这儿设置数据来源名称
  13.                 return lang(‘blockclass’, ‘blockclass_news_script_news’);
  14.         }
  15.         //block挂件中的类型和调用模块名称
  16.         public function blockclass() {
  17.                 // 这儿设置调用模块类型
  18.                 return array(‘news’, lang(‘blockclass’, ‘blockclass_news’));
  19.         }
  20.         public function fields() {
  21.                 $fields = array(………); //这儿对fields进行设置,除了discuz本身支持的变量外,只有这儿设置的字段才可以在模板中调用。
  22.                 return $fields;
  23.         }
  24.         public function getsetting() {
  25.                 return $this->setting;
  26.         }
  27.         //数据调取
  28.         public function getdata($style, $parameter) {
  29.                 $list = array(………);  // 这儿根据实际情况从数据库或许相应的数据
  30.                 return array(‘html’ => ”, ‘data’ => $list);
  31.         }
  32. }
  33. ?>

复制代码

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

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

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

以上,只是简单说明,~~,因时间有限,只能到此为止啦

Tagged on:     

One thought on “discuz 数据调用 自定义添加字段

发表评论