本文實作功能:
控制彈框的顯示與否
在先前的文章寫道,discuz實作自動註冊登入。但是我們又不想讓那個提示訊息出來。
在網路上大概的搜尋了一下,有的說後台可以設置,但是咔咔到後邊瞅了一眼,它那個設置只是針對於固定的一些場景。
那麼我們自己可以來寫一個適合我們專案的顯示方式
使用discuz一段時間的都知道,前台的彈框其實是後台showmessage
這個方法決定的。
我們用程式碼追蹤到這個方法在upload/source/function/function_core.php
檔案裡 大概在1424行
然後我們在追蹤dshowmessage
這個方法
最終這個方法的檔案是在upload/source/function/function_message.php
# 這裡
然後我們把程式碼拉到最後,可以看到一個show_messge
的變數和載入了一個模板位址
upload/template/default/touch/common/showmessage.htm
show_message 。
upload /source/function/function_message.php # 238行
##然後修改這個文件,讓進入後直接跳轉即可。
實作效果
登入時彈框已經沒有了在其他地方該有的還是有的
在把本文的文件都修改完了以後呢!在一會想要使用自己定義的模板就可以直接使用
is_login就是你自訂模板的一個標識
showmessage('login_succeed', 'forum.php',['username'=>$username,'is_login'=>1],array('showdialog' => 1));
以上是discuz如何自主控制彈框的顯示的詳細內容。更多資訊請關注PHP中文網其他相關文章!