Discuz! X2.5 添加自定義數據調用模塊(簡單方法)

轉:http://521-wf.com/archives/46.html

Discuz! X2.5 添加自定義數據調用模塊(簡單方法)

Discuz!X系列的diy功能仍是至關不錯的,在對其進行二次開發的過程當中,或許須要加入新的數據調用模塊,這樣可使你開發的功能模塊也像原來的模塊同樣,只須要點點鼠標,填寫一些簡單的信息,就能夠在各個頁面的各個位置顯示你想顯示的數據啦。php

如下就目前最新版X2.5作一個簡答的介紹:
大體能夠分爲如下三個步驟:
1、添加數據調用程序
2、後臺更新diy模塊分類緩存
3、添加相應的數據模板html

具體操做以下:
1、添加數據調用程序
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中對應變量的格式。工具

2、進入後臺-工具-更新緩存,必定要勾選「DIY 模塊分類緩存」,而後開始更新。this

3、進入後臺-門戶-模塊模板,在這個下添加你對應的模板。htm

以上,只是簡單說明,~~,因時間有限,只能到此爲止啦。。。。。ip

標籤: Discuzblock數據調用開發

相關文章
相關標籤/搜索