Discuz! 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 模块分类缓存”,然后开始更新。

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

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

标签: Discuz, block, 数据调用

22
May 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS 10 Comments

已有 10 条评论 »

  1. Mildredger Mildredger

    Absolutely NEW update of SEO/SMM package "XRumer 16.0 + XEvil 3.0":
    captchas solution of Google, Facebook, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another size-types of captcha,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can connect XEvil 3.0 to all most popular SEO/SMM programms: XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other programms.

    Interested? There are a lot of demo videos about XEvil in YouTube.
    Good luck!

  2. 娱乐平台 娱乐平台

    学习了

  3. czy visaxinum działa na tradzik czy visaxinum działa na tradzik

    We're a group of volunteers and opening a new scheme in our community.
    Your website offered us with valuable information to
    work on. You have done a formidable job and our entire community will be thankful to
    you.

  4. LyndaReift LyndaReift

    Interesting design.
    So, this website very nice, I LLLiked it! :)
    P.S. I recommend for you the "XRumer 16.0" program for effective promotion.
    It's a best SEO and SMM software for today.

    Your read it - then it works! ;)

  5. MelindaGlilm MelindaGlilm

    Hello)
    XRumer16.0 is coming soon
    Good luck!

  6. AnnaMJ AnnaMJ

    Hello! My name is AnnaMarkova, our company need to advertise on your website. What is your prices? Thank you. Best regards, Mary.

  7. HuarenKids HuarenKids

    菜鸟请求帮助。能给出详细的例子么?我想在门户DIY调用除了某个用户之外,其他用的日志。我在template/default/portal/index.htm,加入:

    $rizhi[subject] $rizhi[username]

    只可以在门户顶部或者底部,怎样才能在DIY随意调用呢?你说的办法似乎可以,但是不知道怎么具体操作啊。
    多谢!

    1. WiFeng WiFeng

      上面文章的意思是说如果现有的模块满足不了你的需要的话,可以新加代码来支持实现;不过你可以现有的模块设置中再找找看看是否有设置项

  8. 家电维修技术论坛 家电维修技术论坛

    学习一下DZ的程序设计,工作过程。

  9. Pranav Pranav

    Fell out of bed felenig down. This has brightened my day!

添加新评论 »

   点击刷新验证码