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ò)
分享:
奈曼旗| 耿马| 翁牛特旗| 奉化市| 英超| 靖江市| 太湖县| 承德县| 读书| 大名县| 盘锦市| 华蓥市| 清新县| 隆昌县| 屏南县| 潞西市| 皮山县| 库尔勒市| 华蓥市| 高青县| 临猗县| 镇江市| 元朗区| 文昌市| 德兴市| 萨迦县| 许昌市| 龙海市| 易门县| 宜丰县| 海原县| 交口县| 黄浦区| 海淀区| 宾阳县| 慈溪市| 土默特右旗| 澎湖县| 响水县| 宜宾市| 凤山县|