Symfony2 - 使用 Bootstrap(字形)和 jQuery
Symfony2 - Use Bootstrap (glyphicon) and jQuery
我是 Symfony 的初学者,我正在尝试集成特定的 Bootstrap 主题和 jQuery。
因为css个文件,js文件和字体是所有bundle共享的,所以我把资源放到了app\Resources\public
目录下。
在此目录中,我有以下架构:
- css
- bootstrap.min.css
- jquery-ui.min.css
- 我的-css.min.css
- 字体
- glyphicons-半身人-regular.eot
- glyphicons-halflings-regular.svg
- glyphicons-半身人-regular.ttf
- glyphicons-半身人-regular.woff
- js
- bootstrap.min.js
- jquery-1.9.1.min.js
我在 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">
这不是最好的解决方案,但它有效:)
我是 Symfony 的初学者,我正在尝试集成特定的 Bootstrap 主题和 jQuery。
因为css个文件,js文件和字体是所有bundle共享的,所以我把资源放到了app\Resources\public
目录下。
在此目录中,我有以下架构:
- css
- bootstrap.min.css
- jquery-ui.min.css
- 我的-css.min.css
- 字体
- glyphicons-半身人-regular.eot
- glyphicons-halflings-regular.svg
- glyphicons-半身人-regular.ttf
- glyphicons-半身人-regular.woff
- js
- bootstrap.min.js
- jquery-1.9.1.min.js
我在 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">
这不是最好的解决方案,但它有效:)