問題タブ [sonata-media-bundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Symfony CMF メディア バンドルは画像を無効にします。フロントはキャッシュされた画像をリロードしません
私の問題は次のとおりです。
Symfony CMF admin でイメージを変更すると、admin でイメージが変更されます (管理側でイメージが変更され、すべて問題ありません)。しかし、正面には変化が見られません。古い画像が表示されますが、フォルダー /web/media/cache/* 内のすべてのキャッシュを削除した場合にのみ更新されます
どうすればこれを解決できますか?
私の設定:
画像を表示するには、次のようにします。
また
Imagine_filter は完璧に機能しますが、管理者から変更すると画像が更新されません。
通常の画像の URL は次のとおりです。
画像を変更しても、ドキュメント/フォームのフィールドの名前であるため、「画像」という名前は変更されません。
さて、私は迷子になりました、私はすべてを試しました。Sonata admin で画像が変更される理由がわかりません。しかし、前ではそうではありません。
php - Symfony2 Sonata メディア イメージ プロバイダーをオーバーライドします。(インターフェースをコンストラクターに渡します)
SonataMediaBundle の画像プロバイダーをオーバーライドしたいのですが、オーバーライドすると、コンストラクターが呼び出されたときにエラーが発生します。
これはコンストラクタです:
ご覧のとおり、引数 8 にはインターフェイスが必要です。現在、私のサービスでは、8 番目の引数を渡していません。
たとえば(=配列指定)など、さまざまな方法で渡そうとしました:
インターフェイスをロードする新しいサービスを作成しようとしました。
次に、エラーが発生しました:
今、私はアイデアがありません。他に何を試すことができますか?
tags - Sonata メディア バンドル (メディア エンティティ) と Sonata 分類バンドル (タグ エンティティ) の統合
この 2 つのバンドルを統合して、タグをメディア エンティティ (画像、ビデオなど)に追加できるようにする必要があります。
私は使用しています:
"sonata-project/media-bundle":"version": "2.3.1" "sonata-project/classification-bundle":"version": "2.2.1" "symfony/symfony":"version": "v2 .4.10"
php - Symfony SonataMediaBundle は、ImageProvider メディアのみのギャラリーを追加します
私は SonataMediaBundle を使用しており、画像のギャラリーをエンティティに追加したいと考えています。各広告には、複数のメディアを持つことができるギャラリーがあります。私もこの他の回答に従ってきましたが、かなり役に立ちました。
ギャラリーをエンティティに追加し、あらゆる種類のメディアをそのギャラリーに追加できますが、バックエンドで、メディアがギャラリーに追加されたときにプロバイダーの選択をスキップし、ImageProvider を自動的に選択する必要があります。 、画像のみのギャラリーを作成できるようにします。
アド ソナタの管理者クラスでは、次のようになります。
どういうわけかlink_parameters
、Gallery フォームではなく、作成される各 GalleryHasMedia に渡す必要があるため、新しいメディアのそれぞれが ImageProvider のイメージであり、そのプロバイダーの検証 (拡張子、MIME タイプ、サムネイルなど) を取得します。
というわけでフォームはこんな感じ
このモーダル ウィンドウが開き、GalleryHasMedia をギャラリーに追加できます。
私が欲しいのは、メディアを追加するときに、このモーダルが表示されないようにするプロバイダーを選択することですが、代わりに ImageProvider を自動的に選択します。link_parameters' => array('provider' => 'sonata.media.provider.youtube')
admin クラスでネストされたフォームの値を渡すことは可能ですか?
出来ますか?管理者クラスで変更するか、他のフォーム/クラスを上書きする必要がありますか?
私のSonataMedia構成を追加しました:
symfony - Sonata メディア バンドル - 名前で PDF ファイルを取得するか、更新時にファイル名を変更する
現在、SonataAdminBundle と SonataMediaBundle を使用しています。
PDF ファイルがその名前ではなく、md5 または別の形式で保存されているため、メディア バンドル ファイルに問題があります。
例えば:
- メディアテーブル
- ID: 1
- 名前:iphone.pdf
- provider_reference : 9a0b7a35131e23f91666324562c52f08b7cb6604.pdf
これでpdfを取得したくありません:
しかし、その名前 ( iphone.pdf
)。
次のことが可能かどうか知りたいです。
- 名前でpdfファイルを取得しますか?
また
- 特定の名前で PDF ファイルを保存しますか?
php - ファイルシステムをローカルから S3 に移行した後、古いソナタ メディア ファイルを S3 に同期する
以前はすべての Sonata メディア ファイルをローカル ディレクトリに保存していましたが、現在は AWS S3 に移行しています。S3 に移行した後、sonatamedia は古いローカル ファイルにアクセスできなくなりました。Sonatamedia は、S3 でも古いファイルを見つけようとしています。新しいファイルが S3 にアップロードされ、アクセス可能になります。
ここで、古いデータを S3 に同期する方法をアドバイスしてください。または、SonataMedia バンドルは、S3 ではなくローカルで古いファイルを探すことができます。
現在の SonataMedia の構成は次のとおりです。
symfony - Sonata 管理者/メディア競合 (CRUDController)
Sonate 管理者とメディア バンドルの間に競合/問題があります。エラーは次のとおりです。
バックエンドでメディア コントロール パネル (メディア バンドルによって自動的に追加されます) と対話しようとすると、エラーが発生します。
Google でのこのエラーの唯一の言及は、依存関係の問題について話していることです。
https://github.com/sonata-project/SonataMediaBundle/issues/731
これがcomposer.jsonです
"sonata-project/media-bundle": "dev-master" に変更する場合も機能しません
とにかく、「dev」パッケージを使いたいかどうかわかりません。
この Sonata プロジェクトはまだ進行中ですか? ドキュメントが古い
私はこれらのソナタバンドルに非常にうんざりしています - 良いアイデアのように思えますが、それらを適切に構成するには時間がかかります...