問題タブ [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.

0 投票する
1 に答える
11648 参照

php - Sonata Admin Bundle での複数ファイルのアップロードの処理

したがって、多くの調査を行った後、結果が得られませんでした (おそらく私は下手な検索者です) 私は次のトピックから来ました: SonataAdmin Bundle File Upload Error and SonataMediaBundle - how to upload images? 問題の解決策が見つかりません。私はエンティティを持っておりCompany、各会社は複数のファイルを持つことができます: PDF、DOC、XLS、その他の MIME/タイプ。私はVichUploaderBundleを使用することを考えていますが、ドキュメントは 1 対 1 の関係の例のみをカバーしているため、私の質問は、これを実現するための例や方法を教えてくれる人はいますか? ファイルをアップロードして会社に添付するということですか?

EDIT1 の作業とテスト

前に言ったように、SonataMediaBundle を別の管理モジュールに統合しようとしていますが、機能させることができません。私は今まで何をしていましたか?

もちろん、すべてのバンドルをインストールして構成します。SonataAdminBundle と SonataMediaBundle はどちらも正常に動作しています。

ManyToMany\Application\Sonata\MediaBundle\Entity\Media.php関係を追加することにより、必要な機能を追加するように変更されたクラス

次のように PL\OrderBundle\Entity\Order.php に必要なフィールドを追加します。

OrderAdmin.php ファイルの configureFormFields を次のように変更しました。

しかし、ファイルをアップロードできないため、これは機能しません。これは、同じフォームから多くのファイルをアップロードし、作成中の注文に添付したいものです。作成アクションにアクセスしたときに取得するビジュアルについては、添付の画像を参照してください。

ここに画像の説明を入力 ここに画像の説明を入力

私は何が欠けていますか?

0 投票する
3 に答える
2757 参照

php - SonataMediaBundle のインストール後のマッピング例外

SonataAdminBundle 内で使用するために SonataMediaBundle をセットアップして使用しようとしています。SMB のドキュメントのすべての手順を読んで実行します。コマンドを実行すると:

デフォルトでは、これによりフォルダーにバンドルが作成app/されるため、手動でsrc/フォルダーがあるべきフォルダーに移動します。アプリケーションにアクセスしようとするたびに、次のエラーが発生します。

MappingException: クラス 'Application\Sonata\UserBundle\Entity\User' がチェーン構成された名前空間 Sonata\MediaBundle\Entity に見つかりませんでした

理由はわかりませんが、参照を探してどこでもチェックしましたが、何も見つかりませんでした。これを修正したり、手がかりを教えてくれる人はいますか?

0 投票する
3 に答える
1055 参照

symfony-sonata - SonataMediaBundle のファイル タイプのデフォルト アイコン

SonataMediaBundle を使用していますが、特定のファイル タイプ (pdf、xls、doc など) のアイコンを生成したくありません。デフォルトのアイコン ( など) を使用したいPDFアイコン

私はソナタメディアのドキュメントを読んでいて、次のようなものが必要だと信じていました:

web/uploads/media/media_bundle/images/default_pdf/file.pngまた web/uploads/media/sonatamedia/files/default_pdf/file.png

どちらも機能しません。

<format>「小さい」または「大きい」を意味するチャンスで、私はこれも試しました:

web/uploads/media/media_bundle/images/default_small/file.png

file.pngこれは、小さなアイコンが必要で、ファイル インスタンスにカスタム アイコンがない場合、MIME タイプに関係なく、すべてのファイルに対して表示されることを意味すると想定しました。admin代わりにdefaultコンテキストとして使用してみました。サイコロはありません。

アイコン src は常に/uploads/media/sonatamedia/files/admin/file.png- 絶対パスであり、実際には存在しません。

私のアイコンファイルは 45px 幅で、config.yml で設定しました:

ファイルのパーミッションは 644 で、キャッシュはクリアされています。私は何を間違っていますか?

0 投票する
2 に答える
2914 参照

symfony - SonataMediaBundle: ファイル/画像が見つかりません

SonataAdminBundle と Symfony 2.3 で SonataMediaBundle を使用しています。

Sonata Admin インターフェイスから画像をアップロードしようとすると、次のようになります。

  1. [新規追加] ( app_dev.php/admin/sonata/media/media/create)をクリックします。
  2. 「画像」(app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.image&context=default)をクリック
  3. ファイルを参照し、image.jpg「作成」をクリックします
  4. これにより、編集ページが表示されます。Item "image.jpg" has been successfully created.

本当に:

  • フォルダーweb\uploads\media\default\0001\01には、画像ファイルと 3 つの親指があります。
  • media__mediaDBテーブルには、対応する行があります
  • Firefoxでブラウジングするweb/uploads/media/default/0001/01/と、自分の画像が表示されます
  • 対応する行がメディア リストに表示されます (管理パネル内)。

しかし

  • 画像は、メディア リスト (親指の代わりに四角形があります) にも画像編集ページ ( app_dev.php/admin/sonata/media/media/3/edit?provider=sonata.media.provider.image&context=default)にも表示されません。

ファイルの場合、さらに悪い:

  1. [新規追加] ( app_dev.php/admin/sonata/media/media/create)をクリックします。
  2. 「画像」(app_dev.php/admin/sonata/media/media/create?provider=sonata.media.provider.file&context=default)をクリック
  3. ファイルを参照し、document.zip「作成」をクリックします

これにより、エラー 500: が生成されますThe file "" does not exist。また、DB に新しい行は作成されません。


解決策の一部

画像の問題については、sonata 管理者が探しているパスが適切ではないことに気付きました。http://myserver/uploads/media/default/0001/01/c35f187f1b405f4bfba8b962d83e5bbdccff54f9.jpeg

それ以外のhttp://myserver/myproject/web/uploads/media/default/0001/01/c35f187f1b405f4bfba8b962d83e5bbdccff54f9.jpeg

どうやら、これは config.yml のこの部分によるものです (SonataMedia のドキュメントで定義されています)。

私が置き換えたもの:

そして、それは機能します。しかし、これをハードコードするのは良い考えではないと思います。Sonata Doc でこのように書かれているのには十分な理由があると思いますよね?

私の変更は正しいですか?そうでない場合は、どうすればよいですか?

いずれにしても、ファイルのアップロードの問題は解決しません! この点について何か考えはありますか?

0 投票する
4 に答える
2460 参照

symfony-sonata - Sonata Media Bundle ギャラリーを削除

Sonata Media Bundle をインストールしていますが、バンドルのギャラリー部分は使用していません。

ギャラリーを無効にするにはどうすればよいですか?

私は Symfony 2.3 を使用しており、ドキュメントに従って標準のメディア バンドルをインストールしています。

これまでの解決策:

管理バンドルからこの問題https://github.com/sonata-project/SonataAdminBundle/issues/460show_in_dashboard: falseを見ると、yaml ファイルにタグを追加することで管理者を無効にすることができます。

これを行うには、このフラグを追加する独自のコンパイラを追加するだけです。

  1. コンパイラを作成します: http://symfony.com/doc/current/components/dependency_injection/tags.html

  2. コンパイラをバンドルに追加します: http://symfony.com/doc/2.3/cookbook/service_container/compiler_passes.html

これで完了です。より良い解決策があれば、それについて聞きたいです。

コンパイラの例:

0 投票する
2 に答える
624 参照

php - SonataMediaBundle の管理統合でラベルが翻訳されない

SonataAdminBundleを既に実装しているプロジェクトにSonataMediaBundleを追加しました。

奇妙な点の 1 つは、そのままでは、フォーム/フィールドのラベルが管理ダッシュボードまたは CRUD コンポーネントで翻訳されていないことです。

これはバンドルによって提供された管理者と私が書いた管理者だったからだと思いましたが、SonataUserBundleも統合されており、それらの管理者はうまく翻訳されています(戦略を想定しています。これsonata.admin.label.strategy.nativeによるとデフォルトであり、人間が読めるラベルを生成する必要があります)

問題の図を次に示します。

未翻訳のラベルのスクリーンショット

もう 1 つは、SonataUserBundle を含めることで公開された管理者の隣でさえ、翻訳がまだ機能していないことを示しています。

ダッシュボード上の未翻訳のラベルのスクリーンショット

他に何か見る必要がある場合はお知らせください。

バージョン情報については、ここに私のcomposer.jsonがあります

config.ymlのフレームワーク セクション