2

我正在关注本教程(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; ?>,但它只出现一次,为什么?

4

1 回答 1

0

在第 10 页,您有问题的答案:

常用 HTML 代码:布局

很快就会很明显,在我们的视图中至少会有很多常见的 HTML 代码用于页眉和页脚部分,也许还有一两个侧边栏。这是一个很常见的问题,Zend_Layout 组件就是为了解决这个问题而设计的。Zend_Layout 允许我们将所有常见的页眉、页脚和其他代码移动到布局视图脚本中,然后该脚本包含正在执行的操作的特定视图代码。

如果您得到重复的结果,则必须在viewlayout中包含所有这些常见的标题定义。确保将它们从您的视图中删除。

于 2013-04-24T14:17:34.283 回答