thinkpHP 의 widget 확장 용법 인 스 턴 스 분석
Widget 확장 은 페이지 에서 필요 에 따라 다른 내용 을 출력 하 는 데 사 용 됩 니 다.Widget 확장 정 의 는 프로젝트 의 Lib\Widget 디 렉 터 리 아래 에서 Widget 라 이브 러 리 를 정의 합 니 다.예 를 들 어 최근 댓 글 을 표시 할 Widget 을 정의 합 니 다.
Lib\\Widget\\ShowCommentWidget.class.php 에 있 습 니 다.
Widget 라 이브 러 리 는 Widget 클래스 를 계승 하고 render 방법 을 정의 해 야 합 니 다.예 를 들 어:
render 방법 은 직접 출력 하 는 것 이 아니 라 return 을 사용 하여 출력 할 문자열 정 보 를 되 돌려 야 합 니 다.
Widget 도 Widget 류 의 renderFile 방법 을 호출 하여 템 플 릿 을 렌 더 링 한 후 출력 할 수 있 습 니 다.
프로젝트 의 lib 디 렉 터 리 에 widget 디 렉 터 리 를 만 들 고 action 디 렉 터 리 와 같은 등급 입 니 다.
TestWidget.class.php 만 들 기:
class TestWidget extends Widget{
public function render($data){
//print_r($data);
$data['id']=$data['id'];
$data['info']=$data['info'];
$content = $this->renderFile('index',$data);
//print_r($content);
return $content;
}
}
이 디 렉 터 리 에 대응 하 는 Test 폴 더 를 만 들 고$this->rendFile 호출 html 페이지 를 놓 습 니 다.index.html 순환 을 통 해 데이터 의 정 보 를 표시 합 니 다.
<div>
widget
<foreach name="id" item="vo"> <span style="color:#ff0000">// :id $data </span>
{$vo}
</foreach>
<br>
<foreach name="info" item="vo"> <span style="color:#ff0000">//info $data </span>
<foreach name="vo" item="v">
{$v}
</foreach>
</foreach>
</div>
action 방법:IndexAction.class.php
코드 는 다음 과 같 습 니 다:
class TestAction extends Action{
public function index(){
$info=array(array("1","AA","title"),array("2","BB","title2"));
$this->assign("info",$info);
$this->display();
}
}
action 호출 tpl 의 html 페이지 는 index.html 입 니 다.코드 는 다음 과 같 습 니 다:
<div>
test action<br>
{:W('Test',array("id"=>array("ID","name","title"),"info"=>$info))} <span style="color:#cc0000">// TestWidget.class.php , array </span>
</div>
IndexAction.class.php 실행페이지 는 다음 과 같 습 니 다:
이렇게 해서 쇼.html 의 내용 을 포함 시 켰 습 니 다.
name widgte 는 언제 사용 합 니까?
widget 은 보통 봉 인 된 JS 효과 구성 요소 로'파 라 메 터 를 직접 호출 하면 효 과 를 얻 을 수 있 습 니 다.예 를 들 어 TAB 메뉴,회전 목마,그림 윤 방 등 상호작용 효 과 를 얻 을 수 있 습 니 다.
예 를 들 어 사이트 의 메뉴 표시 줄.오른쪽 에 자주 업데이트 되 지 않 는 코너 같은 거...
여러 번 호출 할 수 있 습 니 다.예 를 들 어 페이지 왼쪽 에 뉴스 목록 을 표시 합 니 다.모든 페이지 가 이 목록 을 호출 하면 모든 컨트롤 러 에 같은 코드 를 한 번 써 야 합 니 다.피곤 하지 않 습 니까?widget 으로 한 번 만 쓰 고 템 플 릿 에서 여러 번 사용 할 수 있 습 니 다.
본 고 는 thinkpHP 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thinkpHP 는 ajax 비동기 로 그림 을 업로드 하고 표시,삭제 하 는 예제 입 니 다.최근 tp5 를 공부 하 는 과정 에서 프로젝트 에 포 스 팅 기능 이 있어 테마 그림 을 선택 합 니 다.다음 과 같다. 원본 파일 업로드 처 리 를 이용 하여 원본 js 문 구 를 통 해 업로드 사진 을 실시 간...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.