2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

使用hook鉤子解決Discuz手機(jī)版回復(fù)特殊主題時(shí)的默認(rèn)內(nèi)容問題

2017-02-13 15:03 欄目:技術(shù)開發(fā) 查看(14264)

在Discuz二次開發(fā)的插件API中就有一個(gè)特殊主題,基于這個(gè)API我們可以基于Discuz的論壇帖子開發(fā)很多有價(jià)值的插件功能,比如非常經(jīng)典的就有官方的那款積分商城插件,那個(gè)插件就用到了特殊插件。近期幫助湖南紅網(wǎng)基于論壇帖子開發(fā)在線圖文直播功能的時(shí)候也用到了特殊主題。但在開發(fā)過程中我們發(fā)現(xiàn)了一個(gè)問題:在手機(jī)版的時(shí)候,我們回復(fù)特殊主題,發(fā)現(xiàn)在回復(fù)頁面的輸入框中已經(jīng)有了默認(rèn)的內(nèi)容,而且是主題帖的內(nèi)容加上插件的標(biāo)識(shí)。如圖所示:

2342

經(jīng)過分析dz的源代碼,發(fā)現(xiàn)是在模板中有一個(gè)$postinfo[message],而這個(gè)變量就是默認(rèn)輸入框的數(shù)據(jù),再切換在邏輯層,發(fā)現(xiàn)這個(gè)$postinfo定義的條件就是當(dāng)主題帖是特殊主題的時(shí)候(當(dāng)然還有其他的條件)。其實(shí)我也沒搞清楚dz默認(rèn)的代碼為什么要做這樣一個(gè)處理,至少針對目前的需求我認(rèn)為這個(gè)處理是幫倒忙,那么怎么屏蔽掉這個(gè)處理??赡苁紫认氲降木褪侵苯有薷木托辛耍鴮?shí)際上紅網(wǎng)的該部分文件是不可能被我們來操作的(因?yàn)檫@個(gè)文件是dz的核心文件,原則上是不讓動(dòng)的)。

那么我們只能考慮插件來解決了,我們發(fā)現(xiàn)在帖子回復(fù)頁面存在post_bottom_mobile這個(gè)hook,那么我們在直播插件中定義一個(gè)手機(jī)版的頁面嵌入點(diǎn)即可。其中主要代碼可以是如下:

class mobileplugin_muquan_zhibo {
}
class mobileplugin_muquan_zhibo_forum extends mobileplugin_muquan_zhibo {
  function post_bottom_mobile_output(){
     global $postinfo;
     $postinfo='';
  }
}

上述是什么意思呢,意思就是在該頁面程序執(zhí)行后模板輸出前執(zhí)行post_bottom_mobile_output方法,這個(gè)方法的作用就是把$postinfo重置為空,當(dāng)然銷毀也是可以的,具體的方法閱讀dz的開發(fā)文檔即可。好了之后的效果就是跟回復(fù)普通主題一樣了。

535

而dz默認(rèn)情況下針對特殊主題回復(fù)的這個(gè)處理是否有別的用處,暫時(shí)不得而知,如果該處理有非常重要的用途,那么就要換其他方式來解決了。

與我們的項(xiàng)目經(jīng)理聯(lián)系
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請注明出處:使用hook鉤子解決Discuz手機(jī)版回復(fù)特殊主題時(shí)的默認(rèn)內(nèi)容問題 - 微構(gòu)網(wǎng)絡(luò)
分享:
蓬莱市| 沂水县| 余庆县| 竹北市| 城口县| 临沂市| 杭州市| 灵丘县| 白朗县| 轮台县| 永德县| 迁安市| 宜黄县| 禄劝| 共和县| 东阿县| 赞皇县| 高陵县| 中阳县| 青阳县| 龙胜| 金门县| 庄浪县| 自治县| 玉田县| 邹平县| 武邑县| 宕昌县| 平武县| 克什克腾旗| 潜山县| 花莲县| 襄樊市| 玉溪市| 张家界市| 察哈| 永修县| 岑溪市| 永宁县| 博乐市| 将乐县|