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

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

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

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

2342

經(jīng)過(guò)分析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è)處理,至少針對(duì)目前的需求我認(rèn)為這個(gè)處理是幫倒忙,那么怎么屏蔽掉這個(gè)處理??赡苁紫认氲降木褪侵苯有薷木托辛?,而實(shí)際上紅網(wǎng)的該部分文件是不可能被我們來(lái)操作的(因?yàn)檫@個(gè)文件是dz的核心文件,原則上是不讓動(dòng)的)。

那么我們只能考慮插件來(lái)解決了,我們發(fā)現(xiàn)在帖子回復(fù)頁(yè)面存在post_bottom_mobile這個(gè)hook,那么我們?cè)谥辈ゲ寮卸x一個(gè)手機(jī)版的頁(yè)面嵌入點(diǎn)即可。其中主要代碼可以是如下:

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

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

535

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

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

我們?cè)谖⑿派?4小時(shí)期待你的聲音

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

轉(zhuǎn)載請(qǐng)注明出處:使用hook鉤子解決Discuz手機(jī)版回復(fù)特殊主題時(shí)的默認(rèn)內(nèi)容問(wèn)題 - 微構(gòu)網(wǎng)絡(luò)
分享:
朝阳市| 贺州市| 临漳县| 泊头市| 前郭尔| 锦屏县| 安龙县| 隆昌县| 阳西县| 南京市| 合肥市| 肃宁县| 旬邑县| 永丰县| 延边| 乃东县| 武乡县| 黄梅县| 桐柏县| 闻喜县| 丰城市| 三台县| 调兵山市| 衡南县| 枣阳市| 临桂县| 雅安市| 洛扎县| 贡山| 桑植县| 中卫市| 屏东市| 桐庐县| 乐山市| 平邑县| 岑巩县| 马尔康县| 云南省| 湖北省| 简阳市| 宜昌市|