simettric / gaufrette-to-liip-imagine-bundle
dev-master
2016-09-25 16:33 UTC
Requires
- php: >=5.5.9
- knplabs/knp-gaufrette-bundle: ~0.3
- liip/imagine-bundle: ^1.5
- symfony/symfony: ~3.0
This package is not auto-updated.
Last update: 2024-09-14 19:20:15 UTC
README
使用此包,您可以定义解析器,以便将 Liip 图像缓存文件存储在 Gaufrette 文件系统中。
此包依赖于 LiipImagineBundle 和 KnpGaufretteBundle。
安装
打开命令行界面,进入您的项目目录,然后执行以下命令以下载此包的最新稳定版本
$ composer require simettric/gaufrette-to-liip-imagine-bundle "dev-master"
此命令要求您已全局安装 Composer,如 Composer 文档的 安装章节 所述。
配置
解析器配置示例
步骤 1:定义 Gaufrette 文件系统以存储 LiipImagine 缓存文件
您可以使用 Gaufrette 适配器之一来完成此操作,您可以将文件存储在 Amazon s3、Azure、Dropbox、Google Storage,甚至 FTP/sFTP 服务器上。
# app/config/config.yml
knp_gaufrette:
stream_wrapper: ~
adapters:
cache_google:
google_cloud_storage:
service_id: 'app.google_cloud_storage.service'
bucket_name: '%google.storage_bucket_name%'
options:
directory: %cache_dir_name%
filesystems:
media_cache:
adapter: cache_google
步骤 2:使用 Gaufrette 文件系统定义解析器服务
# app/config/services.yml
app.storage.resolver:
class: Simettric\Gaufrette2LiipImagineBundle\Resolver\LiipGaufretteResolver
#@gaufrette.{filesystem_name}_filesystem
arguments: ['@gaufrette.media_cache_filesystem', '%google.storage_prefix_url%', '%cache_dir_name%']
tags:
- { name: "liip_imagine.cache.resolver", resolver: "gaufrette_resolver" }
步骤 3:使用该解析器存储缩略图文件
您可以配置它,以便默认将缓存文件存储在该文件系统中
# app/config/config.yml
liip_imagine:
filter_sets:
cache: gaufrette_resolver
或者,您可以在哪个过滤器中使用该文件系统进行指定。这在您希望使用不同的文件系统来存储缩略图的情况下非常有用。
# app/config/config.yml
liip_imagine:
filter_sets:
cache: ~
avatar:
cache: gaufrette_resolver
quality: 75
filters:
relative_resize: { widen: 400 }
过滤远程图像
您还可以通过此包中包含的简单远程数据加载器将 LiipImagine 过滤器应用于存储在远程 URL 中的图像。要使其正常工作,您需要将其设置为 liip_imagine 配置
# app/config/config.yml
liip_imagine:
data_loader: sim_gau2liip_remote_loader
# in your twig template
<img src="{{ "https://domain.com/image.png"|imagine_filter('your_filter') }}">
注意:如果加载器找不到图像,它将加载 LiipImagine 包配置中配置的通用默认_image。
此加载器需要更多改进,所有 PR 都受欢迎。