在我看来,如何使用php作为模板引擎来调用css?

时间:2015-08-06 22:50:24

标签: php html css

我有这样的观点:

index.html.php:

/**......
...... Some code......
**/

<link ... href="???????">

/**.....
..... Some code .....
.....**/

应该使用哪条路线?

我的css在:Myproyect / 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" />

2 个答案:

答案 0 :(得分:1)

请将您的文件命名为&#34; index.php&#34;。你不需要.html.php。您现在可以在.php文件中编写完整的html,这将自行完成。像往常一样在你的html代码的head部分包含你的链接标记,那里没有变化。现在,只要你需要做一些php工作,只需添加你的

<?php ?>
像往常一样

标记并编码。 php将根据它在html中的位置在页面内执行。例如,如果它高于你的html标签,它将在任何html渲染之前执行。如果你的php chunk生成了一个表,你需要将这个块放在你编写表的地方,如果它是在html中(不在你的html标签之上)。

我相信您的问题是您的路径不正确。您正在使用相对路径。因此,如果您的index.php文件位于C:/web/site1/index.php且您的css文件位于C:/web/site1/purple.css,那么您的链接href应该只是purple.css。如果index.php存在于与purple.css所在的css /文件夹相同的目录中,那么你的链接href应该只是css / purple.css。检查相对路径

答案 1 :(得分:0)

基于这个问题,你似乎对此不熟悉,所以我将从头开始工作,你可以从那里澄清事情。

以下是基础知识。让我们简化您的层次结构,并说出您的项目是这样组织的:

  • MyProject的
      • mycss.css
    • 的index.php

假设您的网站根路径指向MyProject,以便您的网址如下所示:

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开始,而不是尝试从它认为存在的目录中进行处理。