2012-07-14 26 views
2

我已經在Symfony 2.1中使用作曲家軟件包管理器作爲github回購軟件包安裝了Twitter Bootstrap Framework。我的意圖是直接在「:: base.html.twig」佈局中「包含」此供應商的某些文件,而無需創建捆綁包來處理此問題。可以在Symfony> = 2.0的視圖中訪問供應商文件?

如何從視圖中訪問供應商的文件「vendor/twitter/bootstrap」

+0

周圍的引用包含的意思究竟是什麼?你真的想擁有你的模板中包含的文件的內容嗎?或者你只是想鏈接到一個CSS樣式表? – greg0ire 2012-07-15 17:19:47

+1

有一些關於twitter bootstrap集成的現成Bundle:[mopa/bootstrap-bundle](http://packagist.org/packages/mopa/bootstrap-bundle),[ruian/TwitterBootstrapBundle](https://github.com/ ruian/TwitterBootstrapBundle)[polmabri/twitter-bootstrap-bundle](http://packagist.org/packages/polmabri/twitter-bootstrap-bundle)...爲什麼不使用其中之一? – 2012-07-18 07:37:08

+0

當你需要的只是css或更少的文件時,爲什麼使用一個包來包裝它? – petesiss 2012-07-18 09:43:14

回答

3

噢,對不起,我已經找到了在google上搜索時我自己的問題。我在提交xD時試圖發佈這個問題的那一天忘記了表單的內容並且認爲它沒有發佈,而今天卻讓LOL大吃一驚。

Ty爲所有答案,幸運的是我自己找到了解決方案。如果我的經驗可以幫助任何人...由於2.1版本可以從github獲得twitter bootstrap包,並使用composer作爲供應商安裝它.phar

在項目根目錄下的composer.json文件中添加此項該 「規定」:{}部分:

"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" 
      } 
     } 
    }, 

然後用node.js中已安裝的U可以執行的窗口:

npm install -g less jshint recess uglify-js 

make 

要重新編譯包含已編譯庫或...

make bootstrap 

這編譯CSS,JS,精縮版本太自舉子

的文檔的子文件夾

然後,可以這樣調用並使用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

您可以使用CSS assetics重寫做你問:

{% stylesheets filter='cssrewrite' output='css/frontend.css' 
    '%kernel.root_dir%/../vendor/path/to/stylesheet.css' 
%} 

[編輯:在這裏看到的the topic最近Google網上論壇討論]

相關問題