創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
成都地區(qū)優(yōu)秀IDC服務器托管提供商(成都創(chuàng)新互聯(lián)公司).為客戶提供專業(yè)的成都多線機房,四川各地服務器托管,成都多線機房、多線服務器托管.托管咨詢專線:13518219792這篇文章將為大家詳細講解有關discuz自主控制彈框顯示的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
功能使用場景實現(xiàn)功能:
控制彈框的顯示與否
在之前的一篇文章寫道,discuz實現(xiàn)自動注冊登錄。但是我們又不想讓那個提示信息出來。
在網上大概的搜索了一下,有的說后臺可以設置,但是咔咔到后邊瞅了一眼,它那個設置只是針對于固定的一些場景。
那么我們自己可以來寫一個適合我們項目的顯示方式
彈框實現(xiàn)剖析使用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
。
為了證實模板里的show_message和PHP文件里邊的show_message是一致的我們來做個測試
修改:upload/source/function/function_message.php
238行
然后在頁面進行測試得到的結果是沒有問題的。倆個變量是一致的
實現(xiàn)自己的顯示方式經過上邊的測試,我們得知upload/source/function/function_message.php 文件的238行的show_message 與模板 upload/template/default/touch/common/showmessage.htm的show_message一致。
那么我們就可以聲明一個變量,如果是你想顯示自己的樣式就聲明一個變量,然后在模板里邊控制
以下是咔咔案例:只要你有這個需求咔咔的這個方案100%可以解決你的問題
這段代碼是判斷用戶是否注冊了,如果注冊了就直接登錄。(這里無需糾結,咔咔的案例是從原系統(tǒng)過來的。)
可以看到在showmessage中我新增了一個變量為is_login,并且值為1
我們既然需要在模板里使用這個值,那就照貓畫虎,在upload/source/function/function_message.php文件里也把is_login聲明為全局變量
然后拿著這個值你就可以在upload/template/default/touch/common/showmessage.htm模板里邊使用了
在這個里邊加上你自己的if就可以了
還有一種特別簡單的方式就是在upload/source/function/function_message.php這個239行控制進入的模板
那么這個時候需要做什么呢!就是建這個模板了
在upload/template/default/touch/common這個目錄下復制這個showmassge這個文件
然后修改這個文件,讓進入后直接跳轉即可。
實現(xiàn)效果在登錄時候彈框已經沒有了