> CMS 튜토리얼 > Dedecms > DEDECMS 확장 태그를 사용하는 방법

DEDECMS 확장 태그를 사용하는 방법

藏色散人
풀어 주다: 2020-01-15 10:49:25
원래의
1984명이 탐색했습니다.

DEDECMS 확장 태그를 사용하는 방법

DEDECMS 확장 태그를 사용하는 방법은 무엇입니까?

DEDECMS 확장 태그의 데모 예

권장 학습: cms

예제 태그를 보면: decotag.lib.php,

if(!defined('DEDEINC')) 
{ 
exit("Request Error!"); 
} 
function lib_demotag(&$ctag,&$refObj) 
{ 
global $dsql,$envs; 
 
$attlist="row|12,titlelen|24"; 
FillAttsDefault($ctag->CAttribute->Items,$attlist); 
extract($ctag->CAttribute->Items, EXTR_SKIP); 
$revalue = ''; 
 
//------------------------------------------------------ 
$revalue = 'Hello Word!'; 
//------------------------------------------------------ 
return $revalue; 
} 
?>
로그인 후 복사

태그가 작동하고 콘텐츠가 출력되는 것을 확인할 수 있습니다.

DEDECMS 확장 태그를 사용하는 방법

$revalue = 'Hello Word!'; 
$revalue .=" 
Row:".$row.";TitleLen:".$titlelen;
로그인 후 복사

DEDECMS 확장 태그를 사용하는 방법

그러면 이 속성이 변수로 생성되어 값이 할당된 것을 볼 수 있습니다.

다음으로 이 라벨을 추가로 수정할 수 있습니다.

function lib_writerarc(&$ctag,&$refObj)
로그인 후 복사

다음으로 기본 템플릿 처리를 위한 쿼리 문 및 관련 함수를 작성할 수 있습니다.

$revalue = ''; 
$innertext = $ctag->GetInnerText(); 
$ctp = new DedeTagParse(); 
$ctp->SetNameSpace('field', '[', ']'); 
$sql = "SELECT * FROM dede_archives WHERE writer='{$refObj->Fields['writer']}' limit 0, $row"; 
 
 
 
$dsql->Execute('me',$sql); 
while($rs = $dsql->GetArray('me')) 
{ 
 
$rs['title'] = cn_substr($rs['title'], $titlelen); 
 
$ctp->LoadSource($innertext); 
foreach($ctp->CTags as $tagid=>$ctag) { 
if(!emptyempty($rs[strtolower($ctag->GetName())])) { 
$ctp->Assign($tagid,$rs[$ctag->GetName()]); 
} 
} 
 
$revalue .= $ctp->GetResult(); 
}
로그인 후 복사

마지막으로 이 값을 반환하고 $revalue를 반환합니다.

전체 파일의 내용은 다음과 같습니다.

if(!defined('DEDEINC')) 
{ 
exit("Request Error!"); 
} 
function lib_writerarc(&$ctag,&$refObj) 
{ 
global $dsql,$envs; 
 
$attlist="row|12,titlelen|24"; 
FillAttsDefault($ctag->CAttribute->Items,$attlist); 
extract($ctag->CAttribute->Items, EXTR_SKIP); 
$revalue = ''; 
$innertext = $ctag->GetInnerText(); 
$ctp = new DedeTagParse(); 
$ctp->SetNameSpace('field', '[', ']'); 
$sql = "SELECT * FROM dede_archives WHERE writer='{$refObj->Fields['writer']}' limit 0, $row"; 
$dsql->Execute('me',$sql); 
while($rs = $dsql->GetArray('me')) 
{ 
 
$rs['title'] = cn_substr($rs['title'], $titlelen); 
 
$ctp->LoadSource($innertext); 
foreach($ctp->CTags as $tagid=>$ctag) { 
if(!emptyempty($rs[strtolower($ctag->GetName())])) { 
$ctp->Assign($tagid,$rs[$ctag->GetName()]); 
} 
} 
 
$revalue .= $ctp->GetResult(); 
} 
return $revalue; 
} 
?>
로그인 후 복사

동적 탐색을 통해 보기 및 디버그 페이지?aid =3

{dede:writerarc row='10' titlelen='6'} 
[field:title/]  
{/dede:writerarc}
로그인 후 복사

DEDECMS 확장 태그를 사용하는 방법

위 내용은 DEDECMS 확장 태그를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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