Zend Framework의 페이지 레이아웃 모듈인 Zend_Layout은 MVC와 함께 사용하거나 단독으로 사용할 수 있습니다. 이 문서에서는 MVC에서의 사용에 대해서만 설명합니다.
1. 레이아웃 스크립트는
application/views 아래에 레이아웃 폴더를 생성합니다. 기본 레이아웃 스크립트layout.phtml 코드는 다음과 같습니다.
<?php echo $this->doctype('XHTML1_STRICT') ?>
<html>
<머리>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php echo $this->headTitle() ?>
<?php
$this->headLink()->appendStylesheet("/styles/main.css");
// 더 많은 링크 추가 ...
?>
<?php echo $this->headLink() ?>
</head>
<본문>
<div id="헤더">
<?php echo $this->partial('header.phtml') ?>
</div>
<테이블>
<tr>
<td valign=상단>
<div id="왼쪽 열">
<?php echo $this->partial('leftcolumn.phtml') ?>
</div>
</td>
<td valign=상단>
<div id="콘텐츠">
<?php echo $this->layout()->content ?>
</div>
</td>
</tr>
</table>
<div id="바닥글">
<?php echo $this->partial('footer.phtml') ?>
</div>
</body>
</html>
layout.phtml 외에도 header.phtml, leftcolumn.phtml, footer.phtml, main.css 등의 파일도 작성해야 합니다.
Zend Framework 문서에서는 페이지 레이아웃 적용을 나타내기 위해 뷰를 사용합니다.
2. 페이지 레이아웃 설정
MVC에서 페이지 레이아웃을 설정하는 것은 매우 간단합니다. html/index.php를 편집하고 다음 두 줄의 코드를 추가합니다:
/** Setuplayout*/
require_once 'Zend/Layout.php';
Zend_Layout::startMvc($rootPath . '/application/views/layouts');
참고: 페이지 레이아웃을 시작한 후 기존 페이지를 조정하고 <header> <title> <body >와 같은 불필요한 html 요소를 제거해야 합니다. 제거를 기다립니다. 또한 $this->headTitle()을 통해 페이지 제목을 설정할 수 있습니다.
페이지 레이아웃을 변경하는 것도 매우 간단합니다. 컨트롤러에서 다음 코드를 사용하면 됩니다.
$this->_helper->layout->setLayout('new_layout');
컨트롤러의 모든 작업이 동일한 페이지 레이아웃을 사용하는 경우 컨트롤러의 초기화 함수를 통해 설정할 수 있습니다.
public function init() {
parent::init();
$this->_helper->layout->setLayout('new_layout');
}