我怎么能调用css,在我看来,使用php作为模板引擎


How can i call the css, in my view, using php as template engine?

我有一个这样的视图:

index.html.php:

/**......
...... Some code......
**/
<link ... href="???????">
/**.....
..... Some code .....
.....**/

应该使用哪条路线??

我的css在:myproject/web/bundles/myfolder/css/purple.css中,但是没有成功

PD: index.html.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Lionel Richemond - Multimedia Designer</title>
<link type="text/css" rel="stylesheet" href="web/bundles/LionelBundle/css/purple.css" />

文件命名为"index.php"。您不需要.html.php。现在,您可以在.php文件中编写完整的html,这将自行工作。像往常一样,将链接标签包含在html代码的头部部分,那里没有变化。现在,在需要执行一些php工作的地方,只需添加

<?php ?>
像往常一样使用

标记并删除代码。php将根据它在html中的位置在页面内执行。例如,如果它位于html标记之上,它将在呈现任何html之前全部执行。如果你的php块生成了一个表,你需要把这个块放在你写表的地方,如果它是在html中(不是在你的html标签上面)。

我认为你的问题是你的路径不正确。您正在使用一个相对路径。如果你的index。php文件在C:/web/site1/index。php而你的css文件在C:/web/site1/purple。css那么你的link href应该是purple。css。如果index.php和purple.css所在的css/文件夹在同一个目录下,那么你的链接href就应该是css/purple.css。检查相对路径

你似乎对这个问题很陌生,所以我将从头开始工作,你可以从那里澄清事情。

这里是基本的。让我们简化你的层次结构,假设你的项目是这样组织的:

      • mycss.css
    • index . php

让我们假设你的网站根路径指向MyProject,所以你的URL看起来像这样:

http://mysite.ext/index.php

如果你想在index.php页面中包含CSS,它看起来像这样:

<link rel='stylesheet' type='text/css' href='bundles/mycss.css' />

当浏览器看到这个时,它会相对于它认为正在执行的文件进行查找。如果它认为它正在加载/index.php,那么你就成功了。然而,如果你有MVC样式的路由,相对路径将不起作用。假设你的路由看起来像这样:

http://mysite.ext/controller/action

如果是这种情况,浏览器将查找:

http://mysite.ext/controller/bundles/mycss.css

要解决这个问题,你需要使用一个从你的根目录开始的URL,像这样:

<link rel='stylesheet' type='text/css' href='/bundles/mycss.css' />

通过在路径前面添加斜杠,浏览器知道从基本URL开始,而不是试图从它认为它所在的目录开始。