이 글에 구현된 기능:
팝업 상자 표시 여부 제어
이전 글에서 discuz가 자동 등록 및 로그인을 구현한다고 썼습니다. 그러나 우리는 그러한 프롬프트 메시지가 나오는 것을 원하지 않습니다.
인터넷에 대충 검색해보니 배경으로 설정이 가능하다는 분들도 계시던데 뒷면을 살펴보니 특정 고정된 장면에만 설정이 되어 있는 것을 발견했습니다.
그러면 우리 프로젝트에 맞는 표시 방법을 작성할 수 있습니다
한동안 discuz를 사용해 본 사람이라면 프런트에 있는 팝업 상자가 실제로는 팝업 상자라는 것을 알 것입니다. 배경 showmessage
메소드가 결정되었습니다. 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
우리는 코드를 사용하여 이 메서드가 upload/source/function/function_core.php
파일의 1424번째 줄에 있는지 추적했습니다
그런 다음 dshowmessage
메소드를 추적합니다.
마지막으로 이 메소드의 파일은 여기 upload/source/function/function_message.php
에 있습니다
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
라는 변수입니다.
템플릿의 show_message와 PHP 파일의 show_message가 일치하는지 확인하기 위해 test
Modify를 수행해 보겠습니다. upload/source/function/function_message.php
238행
그럼 페이지 테스트 결과가 정확하네요. 두 변수는 일관됩니다
자신만의 표시 방법을 구현하세요
그런 다음 자신만의 스타일을 표시하려면 변수를 선언한 다음 템플릿에서 이를 제어하면 됩니다.
showmessage에 새로운 변수 is_login을 추가한 것을 볼 수 있으며 값은 1
추가해야하므로 값은 1
템플릿 이 값을 사용하려면 예제를 따르고 upload/source/function/function_message.php 파일에서 is_login을 전역 변수로 선언하세요.
그런 다음 이 값을 사용하여 upload/template/default에서 사용할 수 있습니다. /touch/ common/showmessage.htm 템플릿이 사용됩니다
아직 다른 곳에서 찾아야 할 것들이 남아있습니다
이 글의 모든 파일을 수정한 후! 나만의 맞춤 템플릿을 사용하고 싶다면 직접 사용할 수 있습니다
is_login은 맞춤 템플릿의 식별자입니다
showmessage('login_succeed', 'forum.php',['username'=>$username,'is_login'=>1],array('showdialog' => 1));
위 내용은 discuz가 글머리 기호 상자 표시를 독립적으로 제어하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!