4

我开始使用 Zend Framework 并尝试在我的 layout.phtml 中添加一些样式表和 javascript 文件,如下所示:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>LoremIpsum</title>
<?php echo $this->headLink()->appendStylesheet('css/global.css'); ?>
</head>

这样做的问题是,它只有在 url 中没有指定操作时才有效。例如,它适用于:www.domain.com、www.domain.com/index、www.domain.com/login

但是如果我添加操作,即使它是 www.domain.com/index/index 它也会停止工作。

我注意到在这种情况下 index.php 被调用了两次并调用了 ErrorController。但输出显示没有错误。这是没有样式表信息的预期输出。

任何想法我的布局有什么问题?

编辑1:

错误报告已激活并在其他情况下有效。HTML 标记是正确的。Firebug 显示没有找到我的 css 文件,但路径不会出错,因为没有指定的操作它可以正常工作。

4

2 回答 2

7

您可以使用 BaseUrl() 查看助手:

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

那么应该没问题...

于 2012-08-05T12:13:42.217 回答
1

如果您想查看错误,您必须将您的工作环境从生产更改为开发(这是通过添加SetEnv APPLICATION_ENV development到您的 .htaccess 文件来完成的)

关于布局排序两次,将其添加到errorController文件中的errorAction(使其成为操作的第一行):$this->getResponse()->clearBody();

编辑 :

好的,试试这个来附加样式表:

$this->headLink()->appendStylesheet('css/global.css');
echo $this->headLink();
于 2012-08-05T11:23:52.847 回答