【发布时间】:2016-08-12 16:56:48
【问题描述】:
我正在使用 Symfony3,我想知道如何将照片添加到我的网站或 css 文件中
谁能给我一个详细的解决方案,因为我看到一些人在使用该资产,他们将他们的照片放在 \public\images 中,我不明白它是如何工作的,因为我知道我没有文件夹 \public\images 在资源?
【问题讨论】:
我正在使用 Symfony3,我想知道如何将照片添加到我的网站或 css 文件中
谁能给我一个详细的解决方案,因为我看到一些人在使用该资产,他们将他们的照片放在 \public\images 中,我不明白它是如何工作的,因为我知道我没有文件夹 \public\images 在资源?
【问题讨论】:
最好的方法是使用Assetic 来管理您的资产(css、js、图像)。您可以将它们存储在目录app/Resources/public 中并在使用命令php bin/console assetic:dump --env=prod --no-debug 部署到生产环境之前将它们转储。
【讨论】:
谢谢我自己找到了解决办法
我将图像存储在 src/nomDuBundle/Resources/public 中,然后执行命令php bin/console assets:install。
将在 /web 中创建一个名为 Bundle 的文件夹,我在那里找到了我的 Bundle ,我在使用此代码的 twig 文件中获取了绝对路径:
<img src="{{ asset('bundles/nomBundle/images/votreImage.png') }}" />
它适用于对此有问题的人
【讨论】:
AppBundle 被Assetic documentation 推荐用于集中我们需要包含在 HTML 标头中的所有 ll。
这就是为什么带有 symfony phar 的新一代 symfony 总是创建一个 AppBundle 吗?无论如何都是有可能的。
src/AppBundle目录就像指环王的戒指,前台的所有权力都集中在那里。 在其中创建一个 Resources 目录和:images、css、js、...强>子目录。
src/AppBundle
|
-- Resources
|
--public
|
-- images
|
-- css
|
-- js
|
-- ....
使用 composer 安装资产
配置 config.yml
配置应用内核:
class AppKernel extends Kernel{
public function registerBundles(){
$bundles = [
...
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
...
]
...
在树枝视图中:
{% image '@AppBundle/Resources/public/images/example.jpg' %}
<img src="{{ asset_url }}" alt="Example" />
{% endimage %}
命令行:
$ php bin/console assetic:dump --env=prod --no-debug
命令行生成具有自动名称的目录和图像文件。而且效果很好。
web
|
-- images
|
-- css
|
-- js
|
-- ....
【讨论】: