> CMS 튜토리얼 > Dedecms > DEDE 템플릿에서 PHP 스크립트를 실행하는 방법

DEDE 템플릿에서 PHP 스크립트를 실행하는 방법

藏色散人
풀어 주다: 2019-12-26 09:25:54
원래의
3364명이 탐색했습니다.

DEDE 템플릿에서 PHP 스크립트를 실행하는 방법

DEDE 템플릿에서 PHP 스크립트를 실행하는 방법은 무엇입니까?

dede 데이터베이스의 기본 필드를 직접 처리해야 하는 경우가 많습니다. dede에 해당 기능이 없으면 제목에서 알 수 있듯이 PHP 스크립트와 PHP 변수를 실행해야 합니다. 다음과 같은 좋은 예가 있으니 관심 있는 친구들이 참고하면 됩니다

추천 공부 : Dreamweaver cms

dede 템플릿을 사용할 때 해당 필드가 없을 경우 dede 데이터베이스의 기본 필드를 직접 처리해야 하는 경우가 많습니다. 실제로 함수를 사용할 때 함수를 처리할 방법을 찾아야 하는 경우가 많습니다.

예: 데이터 테이블 addonimages에서 특정 레코드의 typeid 필드를 가져온 다음 typeid에 2를 곱한 결과를 브라우저에 출력하고 싶습니다. (참고: 여기서 typeid 값은 6입니다.)

처음에는 이렇게 썼습니다.

코드는 다음과 같습니다.

<body class="index"> 
{dede:loop table=&#39;dede_addonimages&#39; if=&#39;aid=94&#39;} 
[field:typeid runphp=&#39;yes&#39;] 
echo @me*2; 
[/field:typeid] 
{/dede:loop} 
</body>
로그인 후 복사

브라우저 출력은 다음과 같습니다. 12 6

여기에 6이 더 있는 것 같습니다. is [field:typeid]는 먼저 내부 PHP 문을 실행합니다. [/field:typeid] 줄에 도달하면 내부 함수를 호출하고 원하는 경우 [field:typeid] 기본 템플릿의 내용을 직접 반환합니다. 12 를 직접 출력하려면 /include/extend.fuc.php 파일에 사용자 정의 함수만 추가하면 됩니다.

코드는 다음과 같습니다.

function abc($val){ 
return $val*2; 
}
로그인 후 복사

그런 다음 템플릿은 다음과 같이 다시 작성됩니다.

코드는 다음과 같습니다.

<body class="index"> 
{dede:loop table=&#39;dede_addonimages&#39; if=&#39;aid=94&#39;} 
[field:typeid function="abc(@me)" /] 
{/dede:loop} 
</body>
로그인 후 복사

출력 결과는 다음과 같습니다. 12

또한 두 변수의 변수는 동일한 템플릿에 있는 PHP 코드 조각은 일반적이지 않습니다. 즉, PHP 코드 조각의 변수 범위가 짧은 코드로 제한되어 있다고 가정해 보겠습니다.

예:

코드는 다음과 같습니다.

<body class="index"> 
{dede:loop table=&#39;dede_addonimages&#39; if=&#39;aid=94&#39;} 
[field:typeid runphp=&#39;yes&#39;] 
echo $a=@me*2; 
[/field:typeid] 
{/dede:loop} 
{dede:php}var_dump($a);{/dede:php} 
</body>
로그인 후 복사

출력 결과는 12 6 NULL

위 PHP 스크립트의 변수를 후속 PHP 스크립트에서 사용하려는 경우 임시 해결책을 생각해 냈습니다. 즉, 전역 변수를 사용하여 이 문제를 해결합니다.

코드는 다음과 같습니다.

<body class="index"> 
{dede:loop table=&#39;dede_addonimages&#39; if=&#39;aid=94&#39;} 
[field:typeid runphp=&#39;yes&#39;] 
$GLOBALS[&#39;a&#39;]=@me*2; 
[/field:typeid] 
{/dede:loop} 
{dede:php}echo $GLOBALS[&#39;a&#39;];{/dede:php} 
</body>
로그인 후 복사

출력 결과는 6 12입니다([field:typeid]에 에코가 없으므로 6이 직접 출력됩니다)

위 내용은 DEDE 템플릿에서 PHP 스크립트를 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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