โมดูลเค้าโครงหน้าของ Zend Framework - Zend_Layout - สามารถใช้ร่วมกับ MVC หรือเพียงอย่างเดียว บทความนี้กล่าวถึงการใช้งานกับ MVC เท่านั้น
1. สคริปต์โครงร่าง
จะสร้างโฟลเดอร์โครงร่างภายใต้แอปพลิเคชัน/มุมมอง โค้ดโครงร่างสคริปต์หลัก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() ?>
</หัว>
<ร่างกาย>
<div id="ส่วนหัว">
<?php echo $this->บางส่วน('header.phtml') ?>
</div>
<ตาราง>
<tr>
<td valign=บน>
<div id="leftcolumn">
<?php echo $this->บางส่วน('leftcolumn.phtml') ?>
</div>
</td>
<td valign=บน>
<div id="เนื้อหา">
<?php echo $this->layout()->content ?>
</div>
</td>
</tr>
</ตาราง>
<div id="ส่วนท้าย">
<?php echo $this->บางส่วน('footer.phtml') ?>
</div>
</ร่างกาย>
</html>
นอกจากlayout.phtmlแล้ว คุณยังต้องเขียนไฟล์ต่างๆ เช่น header.phtml, leftcolumn.phtml, footer.phtml และ main.css
เอกสารประกอบ Zend Framework ใช้มุมมองเพื่อแสดงการประยุกต์ใช้เค้าโครงหน้า
2. ตั้งค่าเค้าโครงหน้า
การตั้งค่าเค้าโครงหน้าภายใต้ MVC ทำได้ง่ายมาก แก้ไข html/index.php และเพิ่มโค้ดสองบรรทัดต่อไปนี้:
/** Setuplayout*/
need_once 'Zend/Layout.php';
Zend_Layout::startMvc($rootPath . '/application/views/layouts');
หมายเหตุ: หลังจากเริ่มเค้าโครงหน้า คุณต้องปรับหน้าที่มีอยู่และลบองค์ประกอบ html ที่ไม่จำเป็น เช่น <header> <title> <body > รอถอดครับ. นอกจากนี้ คุณสามารถตั้งชื่อเพจผ่าน $this->headTitle()
การเปลี่ยนเลย์เอาต์ของเพจนั้นง่ายมาก เพียงใช้โค้ดต่อไปนี้ในคอนโทรลเลอร์:
$this->_helper->layout->setLayout('new_layout');
หากการกระทำทั้งหมดของคอนโทรลเลอร์ใช้เลย์เอาต์ของเพจเดียวกัน ซึ่ง สามารถตั้งค่าผ่านฟังก์ชันการเริ่มต้นของคอนโทรลเลอร์:
public function init() {
parent::init();
$this->_helper->layout->setLayout('new_layout');
-