<html> <head> <title><?php echo $this->fetch('title'); ?></title> </head> <body> <header> <h1>CakePHP模板继承示例</h1> <nav> <ul> <li><a href="#">首页</a></li> <li><a href="#">关于我们</a></li> <li><a href="#">联系我们</a></li> </ul> </nav> </header> <div id="content"> <?php echo $this->fetch('content'); ?> </div> <footer> <p>©2019 CakePHP模板继承示例</p> </footer> </body> </html>
<?php $this->extend('default'); ?> <?php $this->assign('title', '这是子视图页面标题'); ?> <h2>这是子视图页面内容</h2> <p>这是一个CakePHP模板继承的示例</p>
$this->extend('default')
를 사용하여 마스터 뷰를 참조하므로 하위 뷰가 마스터 뷰의 레이아웃과 구조를 상속합니다. 동시에 $this->asset('title', 'This is the subview page title')
을 사용하여 페이지 제목을 전달할 수 있습니다. $this->extend('default')
来引用母版视图,这样就让子视图继承了母版视图的布局和结构。同时,我们可以使用 $this->assign('title', '这是子视图页面标题')
来传递页面标题。<p>在子视图的内容部分,我们可以写入与母版视图不同的页面内容,这些内容会替换母版视图中相应的占位符。比如在上面的demo.ctp文件中,我们用 <h2>
和 <p>
标签写入了子视图页面的内容。$this->render('demo')
或者 $this->render('/Controller/demo')
하위 뷰의 콘텐츠 섹션에서 마스터 뷰와 다른 페이지 콘텐츠를 작성할 수 있으며 이러한 콘텐츠는 마스터 뷰의 해당 자리 표시자를 대체합니다. 예를 들어, 위의 데모.ctp 파일에서는 <h2>
및 <p>
태그를 사용하여 하위 보기 페이지의 내용을 작성합니다. <p>$this->render('demo')
또는 $this->render('/Controller/demo')
를 사용하여 데모를 렌더링할 수 있습니다. .ctp 하위 보기. class DemoController extends AppController { public function index() { $this->render('demo'); } }
위 내용은 CakePHP는 템플릿 상속을 어떻게 수행합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!