小编And*_*ing的帖子

从包含的Twig模板中干净地添加JS和CSS

我想找出是否有一种从包含的模板中添加JS和CSS的简洁方法.

因此,例如,如果layout.html.twig具有:

{% include 'GenericBundle:Generic:page.html.twig' with {'data': data} %}
...
{% block javascript %}

    {% javascripts
        '@GenericBundle/Resources/public/js/app/jquery/jquery.min.js'
        '@GenericBundle/Resources/public/js/lib/bootstrap/bootstrap.min.js'
    %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}

{% endblock %}
Run Code Online (Sandbox Code Playgroud)

在通用捆绑页面中,我想包含更多Javascript,但将其添加到已建立的Javascript块以保持HTML和JS最佳实践.

有干净的方法吗?我正在使用Symfony2,并且很可能使用Singletons等解决方案,但如果有可用的话,我宁愿使用更干净的方法.

symfony twig assetic

12
推荐指数
1
解决办法
5万
查看次数

资产不创建组合链接

只是遇到一些问题,试图让Assetic在渲染的网页中生成组合链接.文件本身生成正常,但在生产环境的网页中,我将继续看到单独的文件URL(在生产中不起作用,因为这些未组合的文件不可用).

在模板中,我有:

{% stylesheets
    '@TBundle/Resources/public/css/bootstrap/bootstrap.css'
    '@TBundle/Resources/public/css/bootstrap/bootstrap-responsive.css'

    '@TBundle/Resources/public/css/jquery-selectbox/jquery.selectBox.css'
%}
    <link href="{{ asset_url }}" rel="stylesheet" media="screen" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)

在生产中,它仍然呈现为:

<link href="/css/2f787d0_bootstrap_1.css" rel="stylesheet" media="screen" />
<link href="/css/2f787d0_bootstrap-responsive_2.css" rel="stylesheet" media="screen" />
<link href="/css/2f787d0_jquery.selectBox_3.css" rel="stylesheet" media="screen" />
Run Code Online (Sandbox Code Playgroud)

尽管如此,当我调用时,php app/console assetic:dump --env=prod我得到:

11:13:43 [dir+] /var/www/tbundle/app/../web/css
11:13:43 [file+] /var/www/tbundle/app/../web/css/2f787d0.css
Run Code Online (Sandbox Code Playgroud)

我正在使用Symfony2的默认Assetic设置.关于可能导致这种情况的任何想法?

symfony assetic

3
推荐指数
1
解决办法
6292
查看次数

标签 统计

assetic ×2

symfony ×2

twig ×1