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; } ?>
태그가 작동하고 콘텐츠가 출력되는 것을 확인할 수 있습니다.
$revalue = 'Hello Word!'; $revalue .=" Row:".$row.";TitleLen:".$titlelen;
그러면 이 속성이 변수로 생성되어 값이 할당된 것을 볼 수 있습니다.
다음으로 이 라벨을 추가로 수정할 수 있습니다.
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 확장 태그를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!