Symfony2 - 使用 Bootstrap(字形)和 jQuery

Symfony2 - Use Bootstrap (glyphicon) and jQuery

我是 Symfony 的初学者,我正在尝试集成特定的 Bootstrap 主题和 jQuery。

因为css个文件,js文件和字体是所有bundle共享的,所以我把资源放到了app\Resources\public目录下。

在此目录中,我有以下架构:

我在 app\Resources\views 目录中还有一个 layout.html.twig 文件,这是我的主要布局。在此布局中,我使用以下树枝块加载 css 和 js 文件:

<!-- CSS -->
{% block stylesheets %}
  {% stylesheets filter='cssrewrite'
    '../app/Resources/public/css/bootstrap.min.css'
    '../app/Resources/public/css/jquery-ui.min.css'
    '../app/Resources/public/css/my-css.min.css'
  %}
  <link href="{{ asset_url }}" rel="stylesheet" media="screen">
  {% endstylesheets %}
{% endblock %}

<!-- JS -->
{% block JavaScript %}
  {% javascripts
    '../app/Resources/public/js/jquery-1.9.1.min.js'
    '../app/Resources/public/js/bootstrap.min.js'
  %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
  {% endjavascripts %}
{% endblock %}

CSS 文件已正确加载到我的页面中,但我在使用 glyphicon 时出现错误。例如,按钮上的图标未加载,在 Firefox 的控制台中,出现错误 403:

GET 
http://localhost/mylibrary-web/app/Resources/public/fonts/glyphicons-halflings-regular.woff [HTTP/1.1 403 Forbidden 4ms]

我尝试修改 security.yml 文件但没有成功:

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt|error)|css|images|js|fonts)/
        security: false

如何授权访问 fonts 目录?感谢您的帮助!

我假设您没有正确配置您的网络服务器。 如果你使用 Apache 服务器,你可以这样配置: https://github.com/fontello/fontello/wiki/How-to-setup-server-to-serve-fonts

我终于决定不用 Assetic 工作了...

我把CSS、JS和字体文件直接放到项目的web\bundles\app目录下,使用下面的代码在我的Twig布局中导入CSS或JS:

<link href="{{ asset('bundles/app/css/bootstrap.min.css') }}" rel="stylesheet" media="screen">
<link href="{{ asset('bundles/app/css/jquery-ui.min.css') }}" rel="stylesheet" media="screen">
<link href="{{ asset('bundles/app/css/custom.min.css') }}" rel="stylesheet" media="screen">

这不是最好的解决方案,但它有效:)