在树枝

时间:2017-11-23 16:43:32

标签: symfony twig

我试图加载一个css文件,具体取决于谁的连接。 所以我用变量连接了我的url路径,我似乎没有任何错误,但css没有显示。 如果您有任何建议。

欢呼声

我的代码:

<head>
        <meta charset="UTF-8" />
        <title>{% block title %}{% endblock %}-S...</title>
        {% block stylesheets %}
            {% stylesheets
                "@xxxMainBundle/Resources/css/general/*"
            %}

            <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">

            <!--link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" integrity="sha256-MfvZlkHCEqatNoGiOXveE8FIwMzZg4W85qfrfIFBfYc= sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous"-->
            {% if (app.session.get('courtierStyle') is defined) and (app.session.get('courtierStyle') is not null) %}
                {% set varStyle = "Sygedel/MainBundle/Resources/css/courtier/"~ app.session.get('courtierStyle') %} /*I set the var here*/

                    <link rel="stylesheet" type="text/css" href="{{ varStyle }}"/> /* and pass it in th elink tag here"

            {% endif %}
        {% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>

2 个答案:

答案 0 :(得分:0)

如上所述,您需要检查变量是否具有正确的值并执行资产:安装以将捆绑中的资产复制到web / bundlename目录(其中symfony加载资产)。之后,您只有两个选项。< / p>

  

选项#1(变量是完整的资产参考)

喜欢/mypath/web/favicon.ico

在这种情况下,您需要像使用

一样使用变量
...
    <link rel="stylesheet" type="text/css" href="{{ varStyle }}"/> 
...
  

选项#2是来自网络文件夹

的参考

喜欢favicon.ico # when you use asset('favicon.ico') the result is the option #1

在这种情况下,你需要使用这样的变量:

...
        <link rel="stylesheet" type="text/css" href="{{ asset(varStyle ) }}"/> 
    ...

在这些更改后,您的代码应该如下所示

{% set varStyle = "bundlename"~ app.session.get('courtierStyle') %} /*I set the var here*/
<link rel="stylesheet" type="text/css" href="{{ asset('varStyle ')}}"/>

希望有所帮助

答案 1 :(得分:0)

您可以将您的css文件找到YourBundle / Resources / public / ...并运行app / console资产:通过path / bundle_name / ...安装并访问您的css但是您确定需要加载不同的css文件取决于谁连接?也许你需要渲染不同的模板呢?