CSS无效

时间:2010-08-12 13:54:39

标签: php zend-framework

我是Zend Framework的新手,试图在我的本地配置项目以进行进一步的更改。我成功安装并配置了Zend Framework。但是CSS没有用。请问有人帮帮我吗?

4 个答案:

答案 0 :(得分:2)

有点模糊的问题。如果您的应用程序在http://domain.com/下正常运行,但CSS和其他外部设备在http://domain.com/project/下无效,则可能是您的外部资源路径存在问题。您是否尝试使用完全限定的路径(以'/'开头)或相对路径(开头没有'/')加载资源?

如果应用程序移动,例如从http://domain.com/移动到http://localhost/project/public/,完整路径(例如'/css/style.css')将无法按预期工作。这是因为浏览器将始终在站点根目录中查找资源 - 在我们的示例中为http://domain.com/css/style.csshttp://localhost/css/style.css

相对路径(例如“css / style.css”)将在两个URL下按预期工作,但在您开始向URL添加其他虚拟路径时可能无法正常工作。要继续该示例,相对URL将使浏览器查找http://domain.com/css/style.csshttp://localhost/project/public/css/style.css。需要注意的是,http://localhost/project/public/controller/action处的页面会生成相对资源网址,例如http://localhost/project/public/controller/action/css/style.css,这将无效。

要在两种情况下加载外部资源,请在布局中使用BASE标记,并使用相对URL作为外部资源。我倾向于使用以下内容:

<head>
  <base href="<?php echo $this->serverUrl($this->baseUrl()); ?>/">
</head>

BASE标记强制指定所有相对网址的前缀,这会使http://localhost/project/public/controller/action的网页生成相对网址,如http://localhost/project/public/css/style.css

希望这很有意义,但如果您的应用程序需要在任意位置运行,那么简短版本就是尝试使用BASE标记。

答案 1 :(得分:1)

啊!我得到了它的工作 我们必须将主目录中的本地路径更改为C:\ Inetpub \ wwwroot \ project \ public 我只使用C:\ Inetpub \ wwwroot \那为什么css不工作

感谢所有人的回答和评论

答案 2 :(得分:0)

基本上,在'yourProject / application / layout / layout.phtml'中,将以下行放在html的head部分中:

<?php $this->headLink()->appendStylesheet('/css/style.css') ?>

现在Zend会查找文件'yourProject / public / css / style.css'

答案 3 :(得分:0)

您不必配置基本标签 只要您链接到外部资源,只需使用baseUrl()-view helper

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