立即注冊 找回密碼

QQ登錄

只需一步,快速開始

Discuz開發(fā) Discuz插件頁面嵌入類型腳本格式

2018-6-26 17:43| 發(fā)布者: 豬八戒| 查看: 2667| 評論: 0

摘要: discuz插件頁面嵌入類型腳本格式?php//全局嵌入點類(必須存在)class plugin_identifier { function HookId_1() { ...... return ...; } function HookId_2() { ...... retur ...
discuz 插件頁面嵌入類型腳本格式
<?php

//全局嵌入點類(必須存在)
class plugin_identifier {

        function HookId_1() {
                ......
                return ...;
        }

        function HookId_2() {
                ......
                return ...;
        }

        ......

}

//腳本嵌入點類
class plugin_identifier_CURSCRIPT extends plugin_identifier {

        function HookId_1() {
                ......
                return ...;
        }

        function HookId_2() {
                ......
                return ...;
        }

        ......

}

?>

1、plugin_
普通版腳本中的類名以 plugin_ 開頭。手機版腳本中的類名以 mobileplugin_ 開頭。

2、identifier
插件的唯一標識符,在插件設(shè)置中設(shè)置。

3、CURSCRIPT
嵌入點位于的腳本名,如 forum.php 為 forum。

HookId
函數(shù)名調(diào)用位置聲明位置第一個參數(shù)含義
HookId()所有模塊執(zhí)行前被調(diào)用腳本嵌入點類
HookId_output()模塊執(zhí)行完畢,模板輸出前被調(diào)用腳本嵌入點類array(
'template' => 當前要輸出的模版,
'message' => showmessage 的信息內(nèi)容,
'values' => showmessage 的信息變量,
)
global_HookId()模塊執(zhí)行完畢,模板輸出前被調(diào)用全局嵌入點類
HookId_message()showmessage() 執(zhí)行時調(diào)用腳本嵌入點類array(
'param' => showmessage() 函數(shù)的參數(shù)數(shù)組,
)
ad_adId()相應的廣告位中調(diào)用
函數(shù)名為廣告位腳本 ID 如:ad_headerbanner()
全局嵌入點類
腳本嵌入點類
array(
'params' => 廣告位參數(shù),
'content' => 當前廣告位原本將要顯示的內(nèi)容,
)
common()所有模塊執(zhí)行前被調(diào)用全局嵌入點類
discuzcode()discuzcode() 函數(shù)執(zhí)行時調(diào)用
用于在帖子內(nèi)容解析時嵌入自己的功能,函數(shù)中 $_G['discuzcodemessage'] 變量為待解析的字串
全局嵌入點類array(
'param' => caller 函數(shù)的參數(shù)數(shù)組,
'caller' => caller 函數(shù),此嵌入點被哪個函數(shù)調(diào)用
'discuzcode' 被 discuzcode() 調(diào)用
'messagecutstr' 被 messagecutstr() 調(diào)用
)
deletethread()deletethread() 函數(shù)執(zhí)行時調(diào)用
用于在主題刪除前后嵌入自己的功能,此函數(shù)將在 deletethread() 中被調(diào)用 2 次,函數(shù)中 $_G['deletethreadtids'] 變量為待處理的 TID 數(shù)組
全局嵌入點類array(
'param' => deletethread() 函數(shù)的參數(shù)數(shù)組,
'step' => 刪除的步驟
'check' 檢測步驟
'delete' 刪除步驟
)
deletepost()deletepost() 函數(shù)執(zhí)行時調(diào)用
用于在帖子刪除前后嵌入自己的功能,此函數(shù)將在 deletepost() 中被調(diào)用 2 次,函數(shù)中 $_G['deletepostids'] 變量為待處理的 ID 數(shù)組
全局嵌入點類array(
'param' => deletepost() 函數(shù)的參數(shù)數(shù)組,
'step' => 刪除的步驟
'check' 檢測步驟
'delete' 刪除步驟
)
avatar()
(X2.5 新增)
avatar() 函數(shù)執(zhí)行時調(diào)用
用于在頭像調(diào)用時嵌入自己的功能,函數(shù)中 $_G['hookavatar'] 變量為新頭像返回值

全局嵌入點類array(
'param' => avatar() 函數(shù)的參數(shù)數(shù)組
)


要查看所有的預定義嵌入點,請打開 config/config_global.php 文件,將文件結(jié)尾添加的設(shè)計者模式值改成“2”,然后更新緩存即可。在頁面源碼中查找"<hook>"可搜索到嵌入點。(詳細內(nèi)容可參閱的《插件嵌入點列表》)
$_config['plugindeveloper'] = 2;
預定義的嵌入點會在頁面預置好的位置輸出函數(shù)返回的內(nèi)容。函數(shù)返回值類型如果是 array 且是空值的,必須輸出一個空數(shù)組,如:

return array();
函數(shù)名并不限于以上列表,您可以自定義,只要符合以下規(guī)則,函數(shù)就會在適當?shù)牡胤奖徽{(diào)用。

function CURMODULE_USERDEFINE[_output]()

CURMODULE 指明了此函數(shù)在哪個模塊執(zhí)行,可通過常量 CURMODULE 得到當前頁面的 CURMODULE 值。 USERDEFINE 可自定義,如果函數(shù)名以“_output”結(jié)尾則會在模板輸出前調(diào)用,否則會在模塊執(zhí)行前調(diào)用。 如:attachment_test() 函數(shù)會在論壇的下載附件的時候執(zhí)行。 “_output”結(jié)尾的函數(shù)的第一個參數(shù)為數(shù)組,含義為 array('template' => 要輸出的模板名, 'message' => showmessage 的文字) 如:以下函數(shù)將在登錄的時候輸出調(diào)試文字

function logging_test_output($a) {
        print_r($a);
        print_r($_POST);
}

plugin_identifier 類中的其它函數(shù)為了便于閱讀建議以“_”開頭,如:
<?php

class plugin_sample {

        function _updatecache() {
                ......
                return ...;
        }

}

class plugin_sample_forum extends plugin_sample {

        function viewthread_posttop() {
                ......
                return ...;
        }

        ......

}

?>

鮮花

握手

雷人

路過

雞蛋

最新評論

相關(guān)推薦
最新內(nèi)容
  • ucenter_members數(shù)據(jù)補齊common_member數(shù)據(jù)
  • tools工具箱修正版,兼容php7,站長的伴侶to
  • DPlayer視頻播放器的使用方法
  • Discuz!X3.5更換為純真IP庫的方法
  • discuz上傳附件提示「服務(wù)器限制無法上傳那
相關(guān)推薦
!jz_fbzt! !jz_lxwm! !jz_gfqqq!

關(guān)于我們|手機版|小黑屋|地圖|【道勤網(wǎng)】-www.bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程【道勤網(wǎng)】 ( 皖I(lǐng)CP備15000319號-1 )

GMT+8, 2024-9-25 03:44

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

返回頂部