Zend Framework 入門(4)——页面佈局

日期:2008-07-02  作者:喜騰小二  來源:PHPChina


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

1. 佈局腳本

在 application/views 下創建一個 layouts 的文件夾。主佈局腳本 layout.phtml 代碼如下:
doctype('XHTML1_STRICT') ?>



headTitle() ?>
$this->headLink()->appendStylesheet("/styles/main.css");
// add more links ...
?>
headLink() ?>










partial('leftcolumn.phtml') ?>



layout()->content ?>




除了 layout.phtml 之外,還需要編寫 header.phtml,leftcolumn.phtml,footer.phtml,以及 main.css 等文件。

Zend Framework 的文檔中用一個視圖表示了页面佈局的應用。

2. 設置页面佈局

在 MVC 下設置页面佈局非常簡單,編輯 html/index.php,加入下麵兩行代碼:

/** Setup layout */
require_once 'Zend/Layout.php';
Zend_Layout::startMvc($rootPath . '/application/views/layouts');

注意:在啓動页面佈局後,要調整已有的各個页面,把不需要的 html 元素,如

<body> 等去掉。另外,可以通過 $this->headTitle() 來設置页面的題頭。</P><P>改變页面的佈局也很簡單,隻需在控制器中用下麵的代碼即可:</P><P style="PADDING-LEFT: 30px">$this->_helper-><A class=bodytag href="http://www.yeeyan.com/articles/tag/showperson.php?perid=26" target=_blank><EM>layout</EM></A>->setLayout('new_layout');</P><P>如果一個控制器所有動作都使用同一個<A class=bodytag href="http://www.yeeyan.com/articles/tag/showperson.php?perid=24" target=_blank><EM>页面佈局</EM></A>,可以通過控制器的初始化函數來設置:</P><P style="PADDING-LEFT: 30px">public function init() {<BR>parent::init();<BR><BR>$this->_helper-><A class=bodytag href="http://www.yeeyan.com/articles/tag/showperson.php?perid=26" target=_blank><EM>layout</EM></A>->setLayout('new_layout'); <BR>}</P></p> <p> <script type="text/javascript"><!-- google_ad_client = "ca-pub-3992604787534534"; /* systn 中間 */ google_ad_slot = "3433162612"; google_ad_width = 468; google_ad_height = 60; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> <p> <p> <a href="http://www.systn.com/data/articles/index_hk.html" style="font-size:12px;"><<<返回技術中心</a> </div> <div id="article_right_info"> <div id="article_right"> <h1><a href="http://www.systn.com/data/articles/index_hk.html">技術文章</a></h1> <ul id="article_right_list"> <li><a href="http://www.systn.com/data/articles/83_hk.html" title="PHP+MySQL應用中使用XOR運算加密算法">PHP+MySQL應用中使用XOR運算加密算法</a></li> <li><a href="http://www.systn.com/data/articles/79_hk.html" title="LAMP組合勢不可擋 兩年後市場占有率最高">LAMP組合勢不可擋 兩年後市場占有率最高</a></li> <li><a href="http://www.systn.com/data/articles/161_hk.html" title="簡張桂—人物訪談錄">簡張桂—人物訪談錄</a></li> <li><a href="http://www.systn.com/data/articles/165_hk.html" title="紅帽新任CEO訪華計劃拓展中國開源市場">紅帽新任CEO訪華計劃拓展中國開源市場</a></li> <li><a href="http://www.systn.com/data/articles/234_hk.html" title="快速實現Apache二級域名的方法">快速實現Apache二級域名的方法</a></li> <li><a href="http://www.systn.com/data/articles/221_hk.html" title="FreeBSD下安裝apache2+mysql5+php5">FreeBSD下安裝apache2+mysql5+php5</a></li> <li><a href="http://www.systn.com/data/articles/128_hk.html" title="用PEAR Date進行日期時間處理">用PEAR Date進行日期時間處理</a></li> <li><a href="http://www.systn.com/data/articles/243_hk.html" title="Memcached深度分析">Memcached深度分析</a></li> <li><a href="http://www.systn.com/data/articles/241_hk.html" title="PHP Extended CHM 中文手冊">PHP Extended CHM 中文手冊</a></li> <li><a href="http://www.systn.com/data/articles/225_hk.html" title="六月開發語言排行榜出爐">六月開發語言排行榜出爐</a></li> </ul> </div> <div id="article_right"> <h1><a href="http://www.systn.com/data/news/list_1_hk.html">站內新聞</a></h1> <ul id="article_right_list"> <li><a href="http://www.systn.com/data/news/44_hk.html" title="Ease template 3 發佈單核心版本">Ease template 3 發佈單核心版本</a></li> <li><a href="http://www.systn.com/data/news/29_hk.html" title="Ease Template E3 正式發佈!">Ease Template E3 正式發佈!</a></li> <li><a href="http://www.systn.com/data/news/18_hk.html" title="新年休假計劃">新年休假計劃</a></li> <li><a href="http://www.systn.com/data/news/24_hk.html" title="ET 最新版本發佈">ET 最新版本發佈</a></li> <li><a href="http://www.systn.com/data/news/20_hk.html" title="健康出院回歸程序園">健康出院回歸程序園</a></li> <li><a href="http://www.systn.com/data/news/8_hk.html" title="自由社區登場!!!">自由社區登場!!!</a></li> <li><a href="http://www.systn.com/data/news/3_hk.html" title="Ease Template 公佈成功案例">Ease Template 公佈成功案例</a></li> <li><a href="http://www.systn.com/data/news/12_hk.html" title="Ease template 周末發佈新版~">Ease template 周末發佈新版~</a></li> <li><a href="http://www.systn.com/data/news/13_hk.html" title="ET 手冊將全部更新,並且制作完整示例!">ET 手冊將全部更新,並且制作完整示例!</a></li> <li><a href="http://www.systn.com/data/news/40_hk.html" title="EeeFrame Bate 發佈">EeeFrame Bate 發佈</a></li> </ul> </div> </div> </div> <!-- 版權 --> <div style="background: #fff; overflow: auto;_height: 1%;"> <div id="systn_copyright">Copyright 2004 - 2011 SYSTN.COM</div> </div> <!-- 頁腳 --> <ul id="systn_foot"> <li>粵ICP備09113102號</li> <li><a href="http://www.systn.com/data/committal_hk.html">贊助支持</a>  |</li> <li><a href="http://www.systn.com/data/contact_hk.html">聯繫我們</a>  |</li> </ul> <div id="systn_end"></div> </div> <div style="display:none"> <a href="http://www.51.la/?5638121" target="_blank"><img alt="我要啦免费统计" src="http://img.users.51.la/5638121.asp" style="border:none" /></a> <script src='http://s23.cnzz.com/stat.php?id=970129&web_id=970129' language='JavaScript' charset='gb2312'></script> </div> </html>