【问题标题】:Symfony 3 - {{asset('assets/css/main.css')}} not workingSymfony 3 - {{asset('assets/css/main.css')}} 不工作
【发布时间】:2016-10-24 17:55:52
【问题描述】:

根据每个教程和文档,在 symfony 3 中绑定 CSS 文件应该很简单。但就我而言,它只是行不通。

在我的 base.html.twig 中有

<link rel="stylesheet" href="{{asset('assets/css/main.css')}}" />

在文件夹 web/assets/css/ 中有一个 ma​​in.css 文件。但它只是没有生效。

我是不是做错了什么?

编辑:

也许还有更多信息.. 当我查看源代码时,文档头部有一个 &lt;link rel="stylesheet" href="/assets/css/main.css" /&gt;,但是当我点击链接时,它会输出一个 找不到“GET /assets/css/main.css”的路由(来自“http://localhost/application/3”)

编辑 2:

也许这可能会有所帮助.. 日志文件说

2016-06-24 18:30:32] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /css/main.css" (from "http://localhost/")" at D:\xamp\htdocs\icp\var\cache\dev\classes.php line 2357 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"GET /css/main.css\" (from \"http://localhost/\") at D:\\xamp\\htdocs\\icp\\var\\cache\\dev\\classes.php:2357, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0):  at D:\\xamp\\htdocs\\icp\\var\\cache\\dev\\appDevUrlMatcher.php:166)"} []

【问题讨论】:

  • “不生效”是什么意思?生成的 HTML 是什么?
  • 我的意思是在html的头部有一个&lt;link rel="stylesheet" href="/assets/css/main.css" /&gt;输出,其中定义了一个css-selector,在body中有一个带有这个类的div,但是css没有生效.. 就像它不存在一样
  • 那么,asset 助手正在工作,而您正在寻求 CSS 帮助?你的主题确实失败了
  • @MassimilianoArione ..我不确定资产帮助器是否正常工作:/ ..正如我所提到的..路径在网站的头部..CSS文件确实存在..但无法从浏览器访问
  • 资产助手必须执行的唯一任务是将相对 URL 转换为绝对 URL,这是可行的,因为您可以在 HTML 源中看到正确的路径。不通过直接调用来获取该文件是另一回事。顺便说一句,访问静态文件(如 CSS)根本不是 Symfony 传递的,而是由 Web 服务器直接处理的(当然,只要静态文件存在)

标签: php css symfony assets


【解决方案1】:

主要问题当然是您的 {{ assets }}

如果你遵循 symfon 的文档,你的代码应该是这样的

<link rel="stylesheet" href="{{asset('main.css')}}" />

而不是

<link rel="stylesheet" href="{{asset('**assets/css**/main.css')}}" />

无论如何,今天我用 symfony 和 css 解决了一个问题,该解决方案可能会影响您的问题:

如果您使用的是 Chrome,请尝试禁用缓存。 (为此,Ctrl+Shift+i,网络,头部的复选框)。

【讨论】:

    【解决方案2】:

    也许您忘记从您的捆绑包中扩展 base.html.twig,但根据您提供给我们的信息,它应该可以工作。

    【讨论】:

    • 我在模板文件中做了一个{% extends 'base.html.twig' %} .. 在 HTML 的头部有一个 &lt;link rel="stylesheet" href="/assets/css/main.css" /&gt; 但它的行为就像什么都没有:/ .. 我正在努力解决这个问题几个小时了
    • 尝试清除缓存,并检查您是否使用 app_dev.php 前端控制器访问您的页面。使用您的网络浏览器,您可以检查您的 CSS 文件的内容,看看它是否良好。
    • 嗨,我已经清除了缓存并检查了控制器..这里一切正常:/ ..但仍然无法访问 CSS
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    相关资源
    最近更新 更多