Zend Framework 中的布局使用

简单研究了一下Zend Framework 中的Layout,发现上手还真有点小难,必竟ZF的文件的确很少(心里安慰一下 :) )。

闲话少说,切入主题(仅讨论MVC中的布局):

一、配置

在使用布局之前需要配置layout的目录:

Zend_Layout::startMvc('./application/views/layouts');

该配置可以在入口文件中定义,也可以在Controller中定义。

二、layout 文件: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('/content/css/admin.css'); ?>
<?php $this->headLink()->appendStylesheet('http://localhost:800/ext-4.0.0/resources/css/ext-all.css'); ?>
<?php echo $this->headLink() ?>

<?php $this->headScript(Zend_View_Helper_HeadScript::FILE,'http://localhost:800/ext-4.0.0/bootstrap.js') ?>
<?php echo $this->headScript() ?>
</head>
<body>
    <div id="nav">[<?php echo $this->layout()->nav ?>]</div>
</body>
</html>

咱就简单演示,越简单越好,主要讨论如何往布局中传值。

 

三、Action 代码片段:

Zend_Layout::startMvc('./application/views/layouts');
$response = $this->getResponse();
$response->insert('nav', 'nav值');
$this->_helper->layout->setLayout('layout');


 

这里就是获取Reponse对象,然后向该对象中插入值,就这么简单。

哎ZF技术大全中竟然没有对Layout的详解,害我搜了半天。

 

你可能感兴趣的:(mvc,XHTML,File,layout,action,Zend)