simettric / gaufrette-to-liip-imagine-bundle

安装: 946

依赖项: 0

建议者: 0

安全: 0

星标: 3

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master 2016-09-25 16:33 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:20:15 UTC


README

使用此包,您可以定义解析器,以便将 Liip 图像缓存文件存储在 Gaufrette 文件系统中。

此包依赖于 LiipImagineBundleKnpGaufretteBundle

安装

打开命令行界面,进入您的项目目录,然后执行以下命令以下载此包的最新稳定版本

$ 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 都受欢迎。