搜尋
首頁CMS教程Discuzdiscuz如何自主控制彈框的顯示

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

May 04, 2020 am 12:41 AM
discuz

本文實作功能:

    控制彈框的顯示與否

功能使用情境

在先前的文章寫道,discuz實作自動註冊登入。但是我們又不想讓那個提示訊息出來。

在網路上大概的搜尋了一下,有的說後台可以設置,但是咔咔到後邊瞅了一眼,它那個設置只是針對於固定的一些場景。

那麼我們自己可以來寫一個適合我們專案的顯示方式

彈框實現剖析

使用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如何自主控制彈框的顯示

然後在頁面進行測試所得的結果是沒有問題的。兩個變數是一致的

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

實作自己的顯示方式

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

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

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

這段程式碼是判斷用戶是否註冊了,如果註冊了就直接登入。 (這裡無需糾結,咔咔的案例是從原始系統過來的。)

#可以看到在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這個目錄下複製這個showmassge這個文件

discuz如何自主控制彈框的顯示##然後修改這個文件,讓進入後直接跳轉即可。

discuz如何自主控制彈框的顯示實作效果

登入時彈框已經沒有了


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

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

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

#總結

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

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

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

以上是discuz如何自主控制彈框的顯示的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用