Zend Framework 入門(4)—頁面布局

Zend Framework 的頁面布局模塊——Zend_Layout——既可以跟 MVC 一起使用,也可以單獨使用。本文只討論與 MVC 一起使用的情況。

1. 布局腳本

在 application/views 下創建一個layouts 的文件夾。主布局腳本 layout.phtml 代碼如下:

<?php echo $this->doctype('XHTML1_STRICT') ?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php echo $this->headTitle() ?>

<?php

$this->headLink()->appendStylesheet("/styles/main.css");

// add more links ...

?>

<?php echo $this->headLink() ?>

</head>

<body>

<div id="header">

<?php echo $this->partial('header.phtml') ?>

</div>

<table>

<tr>

<td valign=top>

<div id="leftcolumn">

<?php echo $this->partial('leftcolumn.phtml') ?>

</div>

</td>

<td valign=top>

<div id="content">

<?php echo $this->layout()->content ?>

</div>

</td>

</tr>

</table>

<div id="footer">

<?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');

注意:在啓動頁面布局後,要調整已有的各個頁面,把不需要的 html 元素,如<header> <title> <body> 等去掉。另外,可以通過 $this->headTitle() 來設置頁面的題頭。

改變頁面的布局也很簡單,只需在控制器中用下面的代碼即可:

$this->_helper->layout->setLayout('new_layout');

如果一個控制器所有動作都使用同一個頁面布局,可以通過控制器的初始化函數來設置:

public function init() {

parent::init();

$this->_helper->layout->setLayout('new_layout');

}

Zend Framework 入門(3)—錯誤處理
undefined...查看完整版>>Zend Framework 入門(3)—錯誤處理
 
Zend Framework 入門(2)—多國語言支持
如果你的項目想要支持多語言版本,那麽就需要用到 Zend_Translate。Zend_Translate 的詳細文檔在這裏,不過如果想偷懶的話,也很簡單,在View Helpers 文檔中介紹了如何用 Translate Helper 輕松實現多語言支持。1. ...查看完整版>>Zend Framework 入門(2)—多國語言支持
 
Zend Framework 入門(1)—快速上手
1. 安裝從 Zend Framework 的網頁上下載最新版本。解壓後,把整個目錄拷貝到一個理想的地方,比如:/php/library/Zend。打開 php.ini 文件,確認包含 Zend 目錄的路徑在 include_path 裏定義了。以上面的配置爲例,p...查看完整版>>Zend Framework 入門(1)—快速上手
 
Zend Framework食譜
Zend Framework中文團隊:ZF手冊翻譯情況及最新中文手冊在線閱讀,通常中文手冊有新章節翻譯完畢,Haohappy都會重新編譯一份放到phpeye上去,保證提供最新鮮的中文手冊,比Zend官方上的要新(官方網站上的手冊是定期...查看完整版>>Zend Framework食譜
 
Zend Framework 1.0正式版即將發布
  星期一,Zend技術公司將爲PHP的Web應用開發提供其開發架構的1.0版本,這個版本已經以預發布的形式吸引了超過100萬的下載。  Zend Framework 1.0將不是周圍唯一的PHP開發框架,因爲它將和像Cake和Prado這樣的框...查看完整版>>Zend Framework 1.0正式版即將發布
 
初學者入門:細述PHP4的核心Zend
一.概述: Zend引擎的名稱由Zeev Suraski和Andi Gutmans二位在PHP擔任核心開發工作的資深設計師的名字合體.開發的目的師爲了研發新的腳本執行機制,而PHP4就是這套嶄新的Zend引擎的第一個實作産品。在一些特殊測試環...查看完整版>>初學者入門:細述PHP4的核心Zend
 
[視頻]Visual Studio 2005入門之Asp.Net中的事件(頁面事件)
今天我們講.net中的事件,.NET最大的特點之一就是他允許用戶使用事件驅動的編程模式,事件驅動一點也不新鮮,至少我們用的系統平台(例如瘟多死,有你克死,理你克死),他們的表現形式是,當你觸發了某一事件,他就有反應了,比...查看完整版>>[視頻]Visual Studio 2005入門之Asp.Net中的事件(頁面事件)
 
CSS入門:使用table布局網頁不明智-css設計
  使用Table布局頁面爲什麽是不明智的?  大家看到標題,不要誤解認爲在頁面中不能使用Table,而是可以使用Table,但是盡量不要用Table去布局頁面,爲什麽這麽說呢,因爲使用Table布局頁面會使頁面失去靈活性,怎...查看完整版>>CSS入門:使用table布局網頁不明智-css設計
 
SWT/JFace入門指南之用Layout管理UI布局
SWT/JFace入門指南之用Layout管理UI布局
  我們在前面在一些例子中已經使用過Layout了。那麽Layout到底是做什麽的呢?   我們知道,在設計用戶界面時候,我們可以采用的一種辦法是手動的爲每個部件設置合適當大小和位置。但是這樣的話,假如你所要顯示的...查看完整版>>SWT/JFace入門指南之用Layout管理UI布局
 
 
回到王朝網路移動版首頁