如何在Symfony2中使用供应商捆绑包资源

时间:2015-02-25 22:48:35

标签: php symfony composer-php assetic

我知道这是一个非常基本的问题,我很困惑,我无法找到一个好的答案。

我们说我在Composer中安装了twbs / bootstrap包,因此它位于其正确的vendor / twbs / bootstrap /目录中。现在,我需要做些什么才能使它真正有用,即将包含css / js文件的bootstrap / dist /文件夹复制到web /文件夹?

是否有任何(半)智能' Symfonic'处理这个问题的方法,或者我应该a)手动复制/更新所需的文件,b)设置,例如那是一个笨拙的复制任务?

如果重要的话,我在Windows 7上使用Symfony 2.6。

3 个答案:

答案 0 :(得分:3)

您只能安装 symfony2 捆绑包的存储库。如果是https://github.com/twbs/bootstrap,则不是。

您必须为symfony2找到另一个相同的捆绑包,例如:https://github.com/braincrafted/bootstrap-bundle

正如in their doc所解释的那样几乎每个捆绑文档,这里是你如何安装这个捆绑包(大多数过程都是相同的):

  

<强>安装

     

BraincraftedBootstrapBundle应使用Composer安装:

{
    "require": {
        "braincrafted/bootstrap-bundle": "~2.0"
    }
}

部分关于Bootstrap和jQuery sniped,与hoiw安装捆绑没有直接关系,请在doc中阅读。

  

然后将捆绑包添加到AppKernel.php:

# app/AppKernel.php

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Braincrafted\Bundle\BootstrapBundle\BraincraftedBootstrapBundle(),
        );
        // ...
    }
}
     

BraincraftedBootstrapBundle强烈建议您使用Assetic   管理资产。如果您确实使用Assetic来管理资产,那么您就是   现在应该运行dump命令。

php app/console assetic:dump

答案 1 :(得分:1)

后人: 刚刚在config.yaml下的资产配置中添加:

assetic:
  assets:
    bootstrap_css:
        inputs:
            - "%kernel.root_dir%/../vendor/twbs/bootstrap/dist/css/bootstrap.min.css"
        filters:
            - cssrewrite
        output: bundles/twbs/bootstrap.css

刚刚在我的base.html.twig模板中添加了标题中的任何位置:

<link rel="stylesheet" href="{{ asset('bundles/twbs/bootstrap.css') }}" media="screen" />

诀窍,不知道它是否是“最先进的”,但它有效。 感谢http://www.tutodidacte.com/symfony2-installer-bootstrap

答案 2 :(得分:0)

与往常一样,官方文档的答案是:http://symfony.com/doc/current/cookbook/bundles/installation.html