站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        discuz如何自主控制彈框的顯示

        本文實現(xiàn)功能:

        控制彈框的顯示與否

        功能使用場景

        在之前的一篇文章寫道,discuz實現(xiàn)自動注冊登錄。但是我們又不想讓那個提示信息出來。

        在網(wǎng)上大概的搜索了一下,有的說后臺可以設(shè)置,但是咔咔到后邊瞅了一眼,它那個設(shè)置只是針對于固定的一些場景。

        那么我們自己可以來寫一個適合我們項目的顯示方式

        彈框?qū)崿F(xiàn)剖析

        使用discuz一段時間的都知道,前臺的彈框其實就是后臺showmessage這個方法決定的。

        我們用代碼追蹤到這個方法在upload/source/function/function_core.php文件里 大概在1424行

        discuz如何自主控制彈框的顯示

        然后我們在追蹤dshowmessage這個方法

        最終這個方法的文件是在upload/source/function/function_message.php 這里

        然后我們把代碼拉到最后,可以看到一個show_messge的變量和加載了一個模板地址

        discuz如何自主控制彈框的顯示

        這個時候我們就去找這個模板位置:upload/template/default/touch/common/showmessage.htm

        在這個模板里邊我們就能看到一個變量為show_message

        discuz如何自主控制彈框的顯示

        為了證實模板里的show_message和PHP文件里邊的show_message是一致的我們來做個測試

        修改:upload/source/function/function_message.php 238行

        discuz如何自主控制彈框的顯示

        然后在頁面進行測試得到的結(jié)果是沒有問題的。倆個變量是一致的

        discuz如何自主控制彈框的顯示

        實現(xiàn)自己的顯示方式

        經(jīng)過上邊的測試,我們得知upload/source/function/function_message.php 文件的238行的show_message 與模板 upload/template/default/touch/common/showmessage.htm的show_message一致。

        那么我們就可以聲明一個變量,如果是你想顯示自己的樣式就聲明一個變量,然后在模板里邊控制

        以下是咔咔案例:只要你有這個需求咔咔的這個方案100%可以解決你的問題

        這段代碼是判斷用戶是否注冊了,如果注冊了就直接登錄。(這里無需糾結(jié),咔咔的案例是從原系統(tǒng)過來的。)

        可以看到在showmessage中我新增了一個變量為is_login,并且值為1

        discuz如何自主控制彈框的顯示

        我們既然需要在模板里使用這個值,那就照貓畫虎,在upload/source/function/function_message.php文件里也把is_login聲明為全局變量

        discuz如何自主控制彈框的顯示

        然后拿著這個值你就可以在upload/template/default/touch/common/showmessage.htm模板里邊使用了

        在這個里邊加上你自己的if就可以了

        discuz如何自主控制彈框的顯示

        還有一種特別簡單的方式就是在upload/source/function/function_message.php這個239行控制進入的模板

        discuz如何自主控制彈框的顯示

        那么這個時候需要做什么呢!就是建這個模板了

        在upload/template/default/touch/common這個目錄下復(fù)制這個showmassge這個文件

        discuz如何自主控制彈框的顯示

        然后修改這個文件,讓進入后直接跳轉(zhuǎn)即可。

        discuz如何自主控制彈框的顯示

        實現(xiàn)效果

        在登錄時候彈框已經(jīng)沒有了

        discuz如何自主控制彈框的顯示

        在其他地方該有的還是有的

        discuz如何自主控制彈框的顯示

        總結(jié)

        在把本文的文件都修改完了以后呢!在一會想要使用自己定義的模板就可以直接使用

        is_login就是你自定義模板的一個標識

        showmessage('login_succeed', 'forum.php',['username'=>$username,'is_login'=>1],array('showdialog' => 1));

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 亚洲欧洲国产精品香蕉网| 国产精品久久久久天天影视| 国产成人精品AA毛片| 日产国产精品亚洲系列| 亚洲第一精品福利| 成人精品视频一区二区三区| 亚洲一区二区三区国产精品| 精品久久国产一区二区三区香蕉| 久久精品国产亚洲欧美| 国产精品免费一区二区三区四区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲国产精品无码久久久久久曰| 国产精品99久久精品爆乳| 狠狠色丁香婷婷综合精品视频| 国产精品视频永久免费播放| 日韩精品久久久久久免费| 伊在人亚洲香蕉精品区麻豆| 国内精品国语自产拍在线观看| 日韩一区二区精品观看| 亚洲AV无码久久精品蜜桃| 99国产精品国产免费观看 | 国产91在线精品| 97久久国产亚洲精品超碰热| 亚洲高清专区日韩精品| 欧美精品色精品一区二区三区| 精品久久久久久无码国产| 国产精品无码国模私拍视频| 亚洲国产精品国自产电影| 欧美精品国产精品| 久久99久久99小草精品免视看| 国产精品久久久久久久久免费| 99久久人妻无码精品系列蜜桃 | 国产精品日本欧美一区二区| 久久r热这里有精品视频| 久久精品免费观看| 老司机99精品99| 久久精品国产亚洲沈樵| 91大神精品全国在线观看| 国产精品VIDEOSSEX久久发布| 在线精品国产一区二区| 国产精品免费久久久久影院 |