我已经使用composer包管理器作为github repo的包安装了Twitter Bootstrap Framework作为Symfony 2.1中的供应商。我的目的是直接在 :: base.html.twig 布局中“包含”该供应商的一些文件,而不必创建一个Bundle来处理它。
如何从视图中访问“vendor / twitter / bootstrap”等供应商的文件?
答案 0 :(得分:3)
哦对不起,我在google上搜索时发现了自己的问题。我在提交xD的同时试图发布这个问题的那天丢失了表单的内容。并且认为它没有发布,今天让LOL大吃一惊。
Ty为所有答案,幸运的是我自己找到了解决方案。如果我的经验可以帮助任何人...从2.1版本可以从github获取twitter bootstrap包并使用composer.phar安装它作为供应商
在项目根目录的composer.json文件中,将其添加到“require”:{}部分:
"twitter/bootstrap": "dev-master",
然后在“存储库”:{}部分添加:
{
"type": "package",
"package": {
"version": "master",
"name": "twitter/bootstrap",
"source": {
"url": "https://github.com/twitter/bootstrap.git",
"type": "git",
"reference": "master"
},
"dist": {
"url": "https://github.com/twitter/bootstrap/zipball/master",
"type": "zip"
}
}
},
然后安装了用于windows的node.js,你可以执行:
npm install -g less jshint recess uglify-js
和
make
再次编译包含已编译库的文档子文件夹或...
make bootstrap
在bootstrap子文件夹中编译css,js,minified版本
然后,可以通过这种方式调用和使用bootstrap:
{% stylesheets '../vendor/twitter/bootstrap/bootstrap/css/bootstrap.min.css' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% javascripts '../vendor/twitter/bootstrap/bootstrap/js/bootstrap.min.js' %}
<script src="{{ asset_url }}" type="text/javascript"></script>
{% endjavascripts %}
此方法的优点可以通过简单地使用以下方式更新供应商的版本:
cd /path/to/symfony/root/dir
php composer.phar update Twitter/Bootstrap
再次编译。
答案 1 :(得分:1)
您可以使用资产css重写来执行您的要求:
{% stylesheets filter='cssrewrite' output='css/frontend.css'
'%kernel.root_dir%/../vendor/path/to/stylesheet.css'
%}
[编辑:请参阅此处了解the topic上最近的Google小组讨论情况