ThinkpHP 탭 제작 실례 설명

2750 단어 ThinkPHP라벨 제작
thinkphp 의 기본 탭 해상도 기 는Lib/Template/TagLib/TagLibCx.class에 있 습 니 다.
자주 사용 하 는 volist phop 등 thinkphp 태그 가 정의 되 어 있 습 니 다.
여기 서 필 자 는 이 클래스 에태그 분석 을 추가 합 니 다.
탭 형식:<category parentid='0' ><{$cat.catname}></category>태그 기능:
부모 클래스 id 를 반복 출력 하 는 것 은 parentid 의 항목 입 니 다.
1.tagLibCx.class 의 개인 속성 에 추가
'category'=array('attr'=>'parentid',level=>3)
그 중에서 attr:태그 의 속성 level 태그 의 끼 워 넣 기 단계
2.해석 함수 추가
라벨 의 해석 원 리 는 xml 파일 을 읽 어서 해당 하 는 정 보 를 얻 은 다음 에 필요 한 것 을 맞 추 는 것 입 니 다.
php 소스 코드,마지막 으로 echo 를 통 해 페이지 에 출력
구체 적 인 코드 는 다음 과 같다.

public function _category($attr,$content)
{
//           $tag    
$tag = $this->parseXmlAttr($attr,'category');
 
//         
$parentid= $tag['parentid'];
 
//         
$result = !empty($tag['result'])?$tag['result']:'cat'; //             
$key = !empty($tag['key'])?$tag['key']:'i';
$mod = isset($tag['mod'])?$tag['mod']:'2';
 
//                CategoryModel      
$sql = "D('Category')->";
$sql .= "getCategorys(".$parentid.')';
 
//      
$parsestr = '<?php $_result='.$sql.'; if ($_result): $'.$key.'=0;';
$parsestr .= 'foreach($_result as $key=>$'.$result.'):';
$parsestr .= '++$'.$key.';$mod = ($'.$key.' % '.$mod.' );?>';
$parsestr .= $content;//   category      
$parsestr .= '<?php endforeach; endif;?>';
return $parsestr;
 
}
 
CategoryModel  getCategorys  
/*
*   parentid      
* $parentid  id
* $withSelf       
*/
 
public function getCategorys($parentid,$withSelf=0)
{
$parentid=intval($parentid);
$categorys=$this->where(array('parentid'=>$parentid,'ismenu'=>1))->order('listorder ASC')->select();
//    
if($withSelf)
{
$categorys2=$this->where(array('id'=>$parentid,'ismenu'=>1))->limit(1)->select();
$category=array_merge($categorys,$categorys2);
}
return $categorys;
 
}
3.페이지 의 인용<category parentid='0'><{$cat.catname}></category>이라는 태그 만 있 으 면 됩 니 다^ ^!그 volist 를 떼 어 내 고 우리 가 원 하 는 것 을 페이지 에서 동적 으로 출력 할 수 있 습 니 다.
ThinkpHP 의 태그 제작 실례 에 대한 설명 은 여기까지 입 니 다.ThinkpHP 의 태그 제작 내용 에 대해 서 는 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기