2

LiipImagineBundle を使用して、アップロードされた画像からフィルター処理された画像を作成しています。バンドルの現在の構成は次のとおりです。

liip_imagine:
    resolvers:
       default:
          web_path: ~

    filter_sets:
        cache: ~
        my_filter:
            filters:
                relative_resize: { heighten: 66 } 

私の目標は、次のようなディレクトリ構造を作成することです。

web_root\{subdirectory}\{type}_{filename_md5_hash}.jpeg

タイプはs、小さい画像用またはo原寸用のいずれかです。サブディレクトリはアップロード日から作成されます。

問題は、LiipImagineBundle がフィルタリングされた画像を に保存することですweb_root\my_filter\{subdirecory}\{type}_{filename_md5_hash}.jpeg

my_filterURLの一部を省略するにはどうすればよいですか? アップロードされた各画像とそのフィルター処理された画像を同じ最終フォルダーに保存する必要があります。

私は専門家ではなく、無駄に多くの調査を行いました。この構成では、フィルター全体または個々のフィルターのキャッシュの Web パスを変更できますが、フィルター名は常に最終 URL に表示されます。

あなたの助けに感謝します。

4

2 に答える 2

1

あなたが望むものは、カスタムを作成するCacheResolver(実装するLiip\ImagineBundle\Imagine\Cache\Resolver\ResolverInterface)必要があります。最初は簡単な作業ではありませんが、そのような特定のユース ケースを持つ唯一の方法です。

次に、タグを使用してカスタムCacheResolverをサービスとして登録し、タグliip_imagine.cache.resolverresolver任意の名前 (例: <tag name="liip_imagine.cache.resolver" resolver="same_folder" />) を付けて、config.yml でこのリゾルバーを使用します。

liip_imagine:
    filter_sets:
        FILTER_NAME:
            cache: same_folder
于 2016-05-31T14:55:17.957 に答える