discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법

咔咔
풀어 주다: 2020-05-04 11:34:01
원래의
2463명이 탐색했습니다.

이 글에 구현된 기능:

팝업 상자 표시 여부 제어

기능 사용 시나리오

이전 글에서 discuz가 자동 등록 및 로그인을 구현한다고 썼습니다. 그러나 우리는 그러한 프롬프트 메시지가 나오는 것을 원하지 않습니다.

인터넷에 대충 검색해보니 배경으로 설정이 가능하다는 분들도 계시던데 뒷면을 살펴보니 특정 고정된 장면에만 설정이 되어 있는 것을 발견했습니다.

그러면 우리 프로젝트에 맞는 표시 방법을 작성할 수 있습니다

팝업 상자 구현 분석

한동안 discuz를 사용해 본 사람이라면 프런트에 있는 팝업 상자가 실제로는 팝업 상자라는 것을 알 것입니다. 배경 showmessage 메소드가 결정되었습니다. 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  
우리는 코드를 사용하여 이 메서드가 upload/source/function/function_core.php 파일의 1424번째 줄에 있는지 추적했습니다

discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법

그런 다음 dshowmessage 메소드를 추적합니다.

마지막으로 이 메소드의 파일은 여기 upload/source/function/function_message.php에 있습니다discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법

그런 다음 코드를 끝까지 당기면 show_messge 및 로드된 하나의 템플릿 주소<h2></h2> <img src="https://img.php.cn/upload/image/886/256/804/1588522706635664.png" title="1588522706635664.png" alt=" discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법"><p> </p> <p>이제 우리는 이 템플릿의 위치를 ​​찾을 수 있습니다: <code>upload/template/default/touch/common/showmessage.htm

이 템플릿에서 우리는 show_message라는 변수입니다.

discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법


템플릿의 show_message와 PHP 파일의 show_message가 일치하는지 확인하기 위해 test

Modify를 수행해 보겠습니다. 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는 일관됩니다.

discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법그런 다음 자신만의 스타일을 표시하려면 변수를 선언한 다음 템플릿에서 이를 제어하면 됩니다.

다음은 Kaka의 경우입니다. 필요한 경우 Kaka의 솔루션을 사용할 수 있습니다. % 해결해보세요

이 코드는 사용자가 등록되어 있는지 확인하는 것입니다. (여기서 걱정할 필요 없습니다. Kaka의 경우는 원래 시스템에서 나온 것입니다.)

discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법showmessage에 새로운 변수 is_login을 추가한 것을 볼 수 있으며 값은 1

추가해야하므로 값은 1discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법

discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법

템플릿 이 값을 사용하려면 예제를 따르고 upload/source/function/function_message.php 파일에서 is_login을 전역 변수로 선언하세요.


그런 다음 이 값을 사용하여 upload/template/default에서 사용할 수 있습니다. /touch/ common/showmessage.htm 템플릿이 사용됩니다

여기에 있으면 자신만의 것을 추가하세요 🎜🎜🎜🎜🎜🎜🎜/source/function/function_message.php를 업로드하는 특히 간단한 방법도 있습니다. 239 행에 대한 템플릿 제어입력🎜🎜🎜🎜🎜🎜이때 해야할 일은 무엇일까요! 이 템플릿을 생성하세요🎜🎜upload/template/default/touch/common 디렉터리에 showmassge 파일을 복사하세요🎜🎜🎜🎜🎜이 파일을 입력 후 바로 점프할 수 있도록 수정하세요. 🎜🎜🎜🎜🎜효과를 얻으세요🎜🎜🎜로그인 시 팝업창이 사라집니다🎜🎜🎜

discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법

아직 다른 곳에서 찾아야 할 것들이 남아있습니다

discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법

요약

이 글의 모든 파일을 수정한 후! 나만의 맞춤 템플릿을 사용하고 싶다면 직접 사용할 수 있습니다

is_login은 맞춤 템플릿의 식별자입니다

showmessage(&#39;login_succeed&#39;, &#39;forum.php&#39;,[&#39;username&#39;=>$username,&#39;is_login&#39;=>1],array(&#39;showdialog&#39; => 1));
로그인 후 복사

위 내용은 discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 ​​방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿