在Symfony 1.4中,我使用以下内容来包含所需的资产:
apps / myApp / config / view.yml (每个页面中使用的常规资源)
stylesheets: [main.css]
javascripts: [lib/jquery.js, lib/jquery.qtip.js, backend/main.js]
apps / myApp / modules / someModule / templates / someTemplateSuccess.php (此视图的资源,部分资源等)
<?php use_stylesheet('backend/datagrid.css') ?>
<?php use_javascript('backend/datagrid.js') ?>
然后最终链接 apps / myApp / templates / layout.php 中的内容:
<?php include_stylesheets() ?>
<?php include_javascripts() ?>
那么,如何在Twig视图中使用AsseticBundle呢?
我真的很困惑......谢谢!
答案 0 :(得分:3)
好的,我来到这里:
https://github.com/kriswallsmith/symfony-sandbox/commit/f1fc1d0cf2fe69660f94f33719a4508d6e9e25ae
并工作!
它是这样的:
<强>的src / mysite的/ MyBundle /资源/ CSS / datagrid.css 强>
将其包含在视图中:
<强>的src / mysite的/ MyBundle /资源/视图/ MyViews / myview.html.twig 强>
{% block stylesheets %}
{% stylesheets '@MySiteMyBundleBundle/Resources/css/datagrid.css' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
{% endblock %}
最后,让我们打印出来:
应用/资源/视图/ base.html.twig 强>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{% block title %}Lol!{% endblock %}</title>
{% block stylesheets %}{% endblock %}
<link rel="shortcut icon" href="{{ asset('favicon.ico') }}" />
</head>
<body>
{% block body %}{% endblock %}
{% block javascripts %}{% endblock %}
</body>
</html>
大!
<强>更新强>
我仍然不知道为什么,但是:
{% stylesheets '@MySiteMyBundleBundle/Resources/css/*.css' output='css/all.css' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
仅将debug设置为false,因此最好的方法是配置它:
应用/配置/ config.yml 强>
# Assetic Configuration
assetic:
debug: false
use_controller: true
write_to: %kernel.root_dir%/../web
filters:
cssrewrite: ~