.css文件未在Symfony2中加载图像

.css文件未在Symfony2中加载图像,css,image,symfony,twig,loadimage,Css,Image,Symfony,Twig,Loadimage,我对Symfony2相当陌生,正在尝试创建我的第一个php应用程序 在我开始在.css文件中设置背景图像之前,一切都很顺利。由于某种原因,.css文件的所有更改(背景色、字体等)都会反映在我的新.html.twig文件接受图像中 我的印象是,我做的每件事都像它应该做的那样,但可能是按照错误的顺序(在新的捆绑包中完成了以下内容): Resources/public/css创建的style.css文件(如下所示): 将图像放置在“我的捆绑包”文件夹的“资源/公共/图像”下 在my new.html

我对Symfony2相当陌生,正在尝试创建我的第一个php应用程序

在我开始在.css文件中设置背景图像之前,一切都很顺利。由于某种原因,.css文件的所有更改(背景色、字体等)都会反映在我的新.html.twig文件接受图像中

我的印象是,我做的每件事都像它应该做的那样,但可能是按照错误的顺序(在新的捆绑包中完成了以下内容):

  • Resources/public/css创建的style.css文件(如下所示):

  • 将图像放置在“我的捆绑包”文件夹的“资源/公共/图像”下

  • 在my new.html.twig中添加了指向.css文件的链接

    {% block stylesheets %}
       {% stylesheets '@TestTestBundle/Resources/public/css/*' filter='cssrewrite' %}
       <link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
       {% endstylesheets %}
    {% endblock %}
    
    {% block stylesheets %}
       {% stylesheets 'bundles/testtestbundle/css/*' filter='cssrewrite' %}
       <link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
       {% endstylesheets %}
    {% endblock %}
    
  • 使用php应用程序/控制台缓存清除缓存:Clear--env=prod--no debug

  • 由于某种原因,所有的变化都反映在接受图像上

    我已经尝试过的资源有:

    以及其他一些资源,但无论我做什么,它似乎都不起作用

    我可能没有安装某些必需的捆绑包,但: -我不知道是哪一个 -若缺少一些东西,我想我不会从.css文件上传任何格式,我只是无法让图像工作,rest加载很好


    非常感谢您的帮助,因为我花了好几个小时试图解决这个问题。

    我知道这个答案不能回答问题,但我建议您使用css图像,它们在没有任何源文件的情况下工作,您不需要保存原始图像。它减少了HTTP请求


    或者,不要使用Assetic捆绑包,使用

    我知道这个答案不能回答问题,但我建议使用css图像,它们在没有任何源文件的情况下工作,您不需要保存原始图像。它减少了HTTP请求


    或者,不要使用Assetic bundle,使用

    ,因为您在
    Resource/public/css
    中有css文件,在
    Resource/public/images
    中有图像文件,您应该像这样定义css文件中的URL:

    .topstyleg {
        background-image: url(../images/ice.png);
    }
    
    .test{
        font-size: 25px;
        background-color: yellow;
    }
    .topstyles {
        width: 135px;
        height: 113px;
        background-color: blue;
    }
    
    .topstyleg {
        background-image: url(../images/ice.png);
    }
    
    .col2{
        position: absolute;
        left: 300px;
        top: 100px;
    
    }
    .form-control {
        margin-bottom: 3px;   
    }
    

    cssrewite
    过滤器要求您使用相对路径(从css文件的角度来看)

    因为您在
    Resource/public/css
    中有css文件,在
    Resource/public/images
    中有图像文件,所以您应该在css文件中定义URL,如下所示:

    .topstyleg {
        background-image: url(../images/ice.png);
    }
    
    .test{
        font-size: 25px;
        background-color: yellow;
    }
    .topstyles {
        width: 135px;
        height: 113px;
        background-color: blue;
    }
    
    .topstyleg {
        background-image: url(../images/ice.png);
    }
    
    .col2{
        position: absolute;
        left: 300px;
        top: 100px;
    
    }
    .form-control {
        margin-bottom: 3px;   
    }
    

    cssrewite
    过滤器要求您使用相对路径(从css文件的角度来看)

    经过一些尝试和错误,多亏了Dric512,我才能够解决这个问题

    看起来我在我的new.html.twig中使用了不正确的链接(至少在我的例子中是不正确的)

    {% block stylesheets %}
       {% stylesheets '@TestTestBundle/Resources/public/css/*' filter='cssrewrite' %}
       <link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
       {% endstylesheets %}
    {% endblock %}
    
    {% block stylesheets %}
       {% stylesheets 'bundles/testtestbundle/css/*' filter='cssrewrite' %}
       <link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
       {% endstylesheets %}
    {% endblock %}
    
    所有这些都是在我创建的src/Test/TestBundle/Resources/css/style.css文件中完成的

    完成此操作后,我使用:php app/console assets:install web--symlink创建了资产

    完成后,我运行了php-app/console-assetic:dump和php-app/console-cache:clear以防万一


    工作起来很有魅力。

    经过一点尝试和错误,多亏了Dric512,我才能够解决这个问题

    看起来我在我的new.html.twig中使用了不正确的链接(至少在我的例子中是不正确的)

    {% block stylesheets %}
       {% stylesheets '@TestTestBundle/Resources/public/css/*' filter='cssrewrite' %}
       <link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
       {% endstylesheets %}
    {% endblock %}
    
    {% block stylesheets %}
       {% stylesheets 'bundles/testtestbundle/css/*' filter='cssrewrite' %}
       <link rel="stylesheet" href="{{ asset_url }}" type="text/css"/>
       {% endstylesheets %}
    {% endblock %}
    
    所有这些都是在我创建的src/Test/TestBundle/Resources/css/style.css文件中完成的

    完成此操作后,我使用:php app/console assets:install web--symlink创建了资产

    完成后,我运行了php-app/console-assetic:dump和php-app/console-cache:clear以防万一


    工作起来很有魅力。

    谢谢。如果我做对了,我需要在Resources/public/css/style.css文件中对此进行更改,然后执行php-app/console-install:assets和php-app/console-assetic:dump。是吗?是的,流的其余部分不应该改变。不幸的是,我不工作,为了以防万一,也清除了浏览器缓存,但仍然不行。配置中有什么东西吗。我可能需要考虑的文件?嗯,我看不出来。使用app_dev.php运行时,是否有关于错误(未找到文件)和查看图像位置的更多信息?您应该在调试工具栏中获得很多信息。问题是,除了要在页面上显示的图像之外,我正在获取所有信息-我没有收到任何类似的错误消息。所有运行良好,但由于某些原因未显示图像。谢谢,谢谢。如果我做对了,我需要在Resources/public/css/style.css文件中对此进行更改,然后执行php-app/console-install:assets和php-app/console-assetic:dump。是吗?是的,流的其余部分不应该改变。不幸的是,我不工作,为了以防万一,也清除了浏览器缓存,但仍然不行。配置中有什么东西吗。我可能需要考虑的文件?嗯,我看不出来。使用app_dev.php运行时,是否有关于错误(未找到文件)和查看图像位置的更多信息?您应该在调试工具栏中获得很多信息。问题是,除了要在页面上显示的图像之外,我正在获取所有信息-我没有收到任何类似的错误消息。所有运行良好,但由于某些原因未显示图像。谢谢