2

我正在做“Zend Framework - A Beginner's Guide”一书中的例子。我几乎完成了,但我发现了一些奇怪的问题。其中之一在我的 admin.phtml 布局文件中。我有这个代码:

<?php echo $this->headLink()->appendStylesheet($this->baseUrl().'/css/master.css'); ?>

当我加载页面时,我看到它显示 master.css 链接两次:

<link href="/square2/public/css/master.css" media="screen" rel="stylesheet" type="text/css" />  
<link href="/square2/public/css/master.css" media="screen" rel="stylesheet" type="text/css" />

当我按预期注释掉 appendStyleSheet() 函数时,什么也没有出现。当我只拨打一次电话时,为什么这个功能会执行两次?

附录:作为测试,我做了两个 appendStyleSheet 函数,在结果页面中我看到 CSS 文件三次,显然第一次调用两次,第二次调用一次。有什么线索吗?

4

2 回答 2

6

只是回显 headLink

<?php $this->headLink()->appendStylesheet($this->baseUrl().'/css/master.css'); ?>
<?= $this->headLink(); ?>
于 2013-05-12T02:29:42.657 回答
1

我改用 setStylesheet() 解决了这个问题:

<?php $this->headLink()->setStylesheet($this->baseUrl().'/css/master.css'); ?>

正如 Joel Joel Binks 所解释的,第一次调用 appendStylesheet() 会附加样式表并返回它。第二个调用返回任何先前附加的样式表加上第二个样式表,因此第一个样式表将出现两次。

于 2014-07-11T15:30:03.683 回答