Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从symfony 2中的资源文件夹中包含css_Php_Html_Css_Symfony_Fosuserbundle - Fatal编程技术网

Php 如何从symfony 2中的资源文件夹中包含css

Php 如何从symfony 2中的资源文件夹中包含css,php,html,css,symfony,fosuserbundle,Php,Html,Css,Symfony,Fosuserbundle,我拥有位于 app/Resources/FOSUserbundle/css 如何将其包含在我的小树枝模板中 我之所以把css放在那里,是因为我的所有被覆盖的FOSUser模板都在那个文件夹中。所以我想把css,js图片都放在那里,这样如果我需要在其他网站上使用,我只需要复制那个文件夹,我不太确定你会如何将它包含在你的小树枝模板中,但是 1) 我将使用的资源放在web/目录中的几个bundle/项目中。然后你可以这样引用: {% stylesheets 'css/styles.css' %} &l

我拥有位于

app/Resources/FOSUserbundle/css

如何将其包含在我的小树枝模板中


我之所以把css放在那里,是因为我的所有被覆盖的FOSUser模板都在那个文件夹中。所以我想把css,js图片都放在那里,这样如果我需要在其他网站上使用,我只需要复制那个文件夹,我不太确定你会如何将它包含在你的小树枝模板中,但是

1) 我将使用的资源放在web/目录中的几个bundle/项目中。然后你可以这样引用:

{% stylesheets 'css/styles.css' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
{% javascripts '@YourBundle/Resources/public/js/scripts.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{%stylesheets'css/styles.css%}
{%endstylesheets%}
2) 如果仍然需要重写FOSUserbundle,可以将资源放在继承包中,如下所示引用它们:

{% stylesheets 'css/styles.css' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
{% javascripts '@YourBundle/Resources/public/js/scripts.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{%javascripts'@YourBundle/Resources/public/js/scripts.js%}
{%endjavascripts%}

你所做的一切都很好

只需执行以下操作:-

$ app/console assets:install web
它将把这些资产安装在公共的“web”目录中,从技术上讲,这些资产应该安装在该目录中,以便与您的细枝模板一起使用

然后可以在细枝模板中使用资产,如下所示:-

    {% block stylesheets %}
        <link href="{{ asset('/css/main.css') }}" type="text/css" rel="stylesheet" />
    {% endblock %}


    {% block javascripts %}
        <script src="{{ asset('/js/main.js') }}" type="text/javascript"></script>
    {% endblock %}
{%block stylesheets%}
{%endblock%}
{%block javascripts%}
{%endblock%}

尽管这个问题建议并覆盖case,但它也适用于css或js位于公共文件夹中、远离bundle结构的情况

一个答案是使用可用的细枝变量。例如,如果我在这里有一个css文件

app/Resources/views/clientSite/customFolder/css/mycss.css
我可以使用如下方式加载任何模板(注意,该示例覆盖了完整的样式表块,但不是必需的,样式表细枝标记可以添加到任何块中):

{%block stylesheets%}
{{parent()}}
{%样式表“%kernel.root\u dir%/Resources/views/clientSite/customFolder/css/mycss.css”
%}
{%endstylesheets%}
{%endblock%}

还要记住执行assetic:dump命令,这样symfony就知道它必须将css与所有其他文件一起发布到web/css文件夹。

但是asset将只链接到web/css。。。。文件夹,但我的css是
app/resources/…
如果您要安装捆绑包中的资产,您还需要包括捆绑包路径,例如:{{asset('bundles/acmedemo/css/contact.css')}}