处理zend框架1中的layout.phtml

时间:2013-04-24 14:03:06

标签: php zend-framework

我正在学习本教程(Zend Framework 1.11入门):http://akrabat.com/wp-content/uploads/Getting-Started-with-Zend-Framework.pdf

第10页的

,zf-tutorial / application / layouts / scripts / layout.phtml, 代码改为:

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

为:

<?php
$this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
$this->headTitle()->setSeparator(' - ');
$this->headTitle('Zend Framework Tutorial');
echo $this->doctype(); ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<?php echo $this->headMeta(); ?>
<?php echo $this->headTitle(); ?>
</head>
<body>
<div id="content">
<h1><?php echo $this->escape($this->title); ?></h1>
<?php echo $this->layout()->content; ?>
</div>
</body>

问题:

  1. 输出是一样的,为什么需要更改代码?

  2. 运行原始代码:<?php echo $this->layout()->content; ?>后,在页面源代码中:在我运行修改后的代码后,在页面源代码<!DOCTYPE HTML PUBLIC....中输出了<!DOCTYPE HTML PUBLIC....应该出现两次,一次来自$this->headMeta()...,一次来自<?php echo $this->layout()->content; ?>,但它只出现一次,为什么?

1 个答案:

答案 0 :(得分:0)

在第10页,您可以回答您的问题:

  

常见HTML代码:布局

     

很明显,我们至少在页眉和页脚部分的视图中会有很多常见的HTML代码,也可能是一个或两个侧边栏。这是一个非常常见的问题,Zend_Layout组件旨在解决此问题。 Zend_Layout允许我们将所有常见的页眉,页脚和其他代码移动到布局视图脚本,然后包含正在执行的操作的特定视图代码。

如果您获得重复的结果,则必须在视图布局中包含所有这些常用标题定义。请务必将其从观看次数中删除。