問題タブ [sonata-admin]
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.
symfony - 別のエンティティとのプロパティ/関係ではなく、カスタム フォーム タイプに対して sonata_type_collection を使用する
sonata_type_collection
別のエンティティとのプロパティ/関係ではなく、カスタム フォーム タイプに対して使用することは可能ですか?
このようなもの:
次のエラーが表示されます
編集:
このような何かがトリックをしました:
symfony - Sonata: 致命的なエラー: 関数の最大ネスト レベルが '100' に達しました..フォームを埋め込む場合
編集:同じ問題を解決することに興味がある人にとっては、それはトリックでした:
相互にリンクされた 3 つのエンティティに対して 3 つの管理者を作成しました。A 管理者は B 管理者を埋め込み、B 管理者は C 管理者を埋め込みます。B エンティティには、A および B エンティティとの ManyToOne 関係があります。
エンティティは、次のコードで B エンティティを埋め込みます。
B エンティティは、C エンティティに次のものを埋め込みます。
注:'edit' => 'list'
を優先して変更すると'edit' => 'standard'
、次のエラーを回避できます。
array( 'edit' => 'list' )
B 管理エンティティをフォーム タイプに配置すると、A エンティティsonata_type_model
の編集中に次のエラーが発生します。代わりarray( 'edit' => 'standard' )
に使用すると、エラーは出力されません。
トリッキーで興味深いのは、編集がリストか標準かに関係なく、B管理者に行って編集する場合です。この問題は、編集リスト オプションを設定して A に埋め込まれた B を編集した場合にのみ発生します。そして、これは私が同じ動作を実装した他のエンティティで私に起こっています。
A、B、C エンティティと、それらがどのように相互にリンクしているかを次に示します。
エンティティ:
B エンティティ:
C エンティティ:
すべてを確認するには、sonata デモ プロジェクトを使用して同様の動作を確認してください。
ご覧のとおり、Gallery が Media に対してリンクしている GalleHasMedias に対してリンクされている Sonata Project のデモで見られるのと同じユース ケースです: http://demo.sonata-project.org/admin/sonata/media/gallery/255 /edit?context=defaultご覧のとおり、GalleryHasMedia は Gallery との ManyToOne 関係と、Media との別の関係を持っているため、Gallery を編集するsonata_type_model
とedit' => 'inline','inline' => 'table',
、GalleryHasMedia が Gallery フォーム内に埋め込まれ、新しいものを追加できるようになります。現在のギャラリーにリンクされ、内部に保存されるメディアGalleryHasMedia
。
暴露されたような状況に直面した人はいますか? 誰かが正しい方向を指し示すか、何が起こっているのかの手がかりを得るのを手伝ってくれることを願っています.
PD: 私には、B エンティティと C エンティティが無限ループで互いにリンク/埋め込みしているように見えます。しかし、前述のように、3 人の管理者が別々にうまく機能しています (A は B を埋め込んでいません)。
php - SonataUser - 管理フォームからフィールドを削除する
SonataUser と SonataAdmin で FOSUser を使用しています。また、Sonata で FOS を使用する場合、いくつかのチュートリアルで説明されているように、SonataEasyExtends を使用して app/Application/Sonata/UserBundle を作成しました。
たとえば、ソーシャルのもの(facebook、twitterなど)のようなユーザーエンティティの管理フォームからいくつかのデフォルトフィールドを削除したいだけです。
入れてフォームをオーバーライドしようとしました
これをサービスとして登録し、Sonata にデフォルトで使用するように指示する必要があると思います。
しかし、私はそれを行う方法がわかりません。
私は少なくとも正しい軌道に乗っていますか?
symfony - ユーザー管理フォームのオーバーライド
管理フォームからいくつかのデフォルト フィールドを削除する必要があるためSonataUser/Admin/Model/UserAdmin
、をオーバーライドしようとしています。そのため、バンドル内configureFormFields()
のファイルをコピーして変更しました。次に、それをサービスとして宣言します。vendor/bundles/Sonata/UserBundle/Admin/Model/UserAdmin.php
app/Application/Sonata/UserBundle/Admin/Model/UserAdmin.php
今の質問:私は正しくやっていますか?ソナタ管理者にそれを使用するように指示するにはどうすればよいですか?
symfony - Symfony2:ソナタ管理バンドル。永続化サービスとは何ですか?
数日間、必死に管理バンドルを作成しようとしていますが、ある時点で行き詰まっています。最初からやり直すことにしました。
すべてのベンダーを正しくインストールしました。これで、次のURLにアクセスして管理ダッシュボードにアクセスできます:http://yoursite.local/admin/dashboard。(そこにはそれほど興味深いものはなく、ヘッダーのみです。)
したがって、ステップ2.2で、永続性サービス(ORM、ODMなど)をセットアップするように求められます。これが何に使用されるのかわかりません。前回、「SonataAdminBundleは永続性サービス(サービス)を課していません。モデルの処理と制御のために)"私はステップをスキップしました.....しかし多分私はそうするべきではありませんでした..
誰かがそれが何のために使われるのか教えてもらえますか?私はそれを使うべきですか、なぜそして何のために?たぶんそれが私がそれを機能させることができない理由です。
ありがとう !
php - SonataUser - Extending Admin
I'm trying to modify the default admin of the User
entity.
Just need to remove certain fields from the form actually.
I imagine this doc will be usefull for me when it'll be available.
For now I have created this admin and tried to override the default User
one.
app/Application/Sonata/UserBundle/Admin/Model/UserAdmin.php
app/config/config.yml
But I'm getting
Cannot import resource "/var/www/Symfony/app/config/." from "/var/www/Symfony/app/config/routing.yml".
...
ErrorException: Catchable Fatal Error: Argument 1 passed to Sonata\AdminBundle\Admin\Admin::addExtension() must be an instance of Sonata\AdminBundle\Admin\AdminExtensionInterface, instance of Application\Sonata\UserBundle\Admin\Model\UserAdmin given, called in /var/www/Symfony/app/cache/dev/appDevDebugProjectContainer.php on line 3139 and defined in /var/www/Symfony/vendor/bundles/Sonata/AdminBundle/Admin/Admin.php line 2359
What am I doing wrong ?
php - Sonata 管理者: カスタム トリガー/アクションをリスト/編集アクションに追加
SonataAdminBundle
アプリケーションでエンティティを管理するために使用しています。サイトの管理者はビデオを追加できますが、その一部は最初にスピーカーの承認を受ける必要があります。既に動作している承認システムがあります。特別なリンクを生成し、ビデオを承認または不承認にするスピーカーに通知し、管理者に自動的に通知する作業コードがあります。
管理セクションをカスタマイズしたいのでask for authorization
、動画の横にボタンを表示します。リスト アクション ( /admin/acme/videos/list
) または右ナビゲーションのどこかの編集アクション( /admin/acme/videos/x/edit/
)のいずれかで問題ありません
これを行うための最良のアプローチは何ですか? ドキュメンテーションにはブロックのカスタマイズについてほとんど書かれていませんが、私が探しているものかもしれないこの例を見つけましたが、その使用方法がわかりませんでした。
1 つのオプションは、preUpdate
フックを使用して編集アクションにチェックボックスを追加することですが、ボタンの方がはるかに優れています。
templates - Sonata Admin Bundle-フォームタイプ:sonata_type_collection-カスタムテンプレート?
フォームタイプ「sonata_type_collection」のテンプレートを上書きすることは可能ですか?
私はこれらの線に沿って試しました:
しかし、役に立たない。
テンプレート全体をオーバーライドできることはわかっていますが、このフォームタイプを使用するすべての場所ではなく、このフォームに対してのみオーバーライドしたいと思います。
これが可能かどうか誰かが知っていますか?
ありがとう
symfony - SonataMediaBundle - 画像をアップロードするには?
「SonataMediaBundle - どこに行方不明のハウツーがありますか?」というタイトルにする必要があります。
私はsonataAdminBundleとsonataDoctrineORMAdminBundle(およびその他)を使用していくつかの管理者バックエンドを作成しました。ほとんどのことは期待どおりに機能しましたが、ファイルのアップロードと処理は後で任せました。
簡単に言うと、最も単純なことに関するドキュメントはありますか?つまり、投稿またはエントリに画像を添付する方法、sonata admin クラスを構成する方法、編集フォームに画像のサムを表示する方法などです。
ドキュメントの最初のページは、「管理者ダッシュボードにアクセスできます」で終わります。これは、メディア マネージャーが稼働しているなど、関連する変更が期待できるかのようです。しかし、そうではありません。
次のページではヘプラーについて簡単に説明し、別のページではかなり複雑な vimeo プロバイダーのケーススタディを扱います。
私はウェブ全体を検索しましたが、思いつくことができたのは、ajaxポップアップを含むアップロードフィールドと、アップロードされたファイルのリストでした。
私の管理者クラスでは、次のものを持っています:
私のニュースクラスで:
すべての yaml 構成とルーティングが実装されています。
結果は次のとおりです。Fatal error: Call to a member function add() on a non-object in [some-entity].php
画像をアップロードしようとすると、「プラス」記号が付いた画像IDの選択可能なリスト(sonata_type_modelフィールドだと思います)。
私は立ち往生しています。素のsf2だけで1、2時間でメディア「マネージャー」を作成できましたが、それは別のプロジェクトであり、現在のものをこのパターンに書き直すことは「ゼロから」開始することを意味します。では、sonataMediaBundle と sonataAdminBundle を期待どおりに動作させるにはどうすればよいでしょうか?
編集:代わりに私がしたことは次のとおりです:
私のニュースクラス(または画像のアップロードが必要なその他のもの):
私の文書クラス (一部のサーバーで予約語の問題に遭遇したため、テーブルの名前を変更する必要がありました):
ご覧のとおり、そのほとんどは symfony2 チュートリアルからコピーされています。
次に、コントローラーの場合:
私のベース バンドル クラスは管理バンドル クラスを拡張するので、テンプレートを上書きできます。
そして、SomeSiteBundle/resources/views/CRUD/base_edit.html.twig
ユーザーが現在設定されている画像を表示できるように、テンプレートを少し変更しました。
現在、私はニュースごとに 1 つの写真 (「注目の写真」) を使用していますが、とにかく少しやり過ぎです。なぜなら、jbimages プラグインで tinyMCE を使用しているため、画像をとにかくニュース本文に入れることができるからです。jbimages プラグインを正しく動作させるには、いくつかの tinyMCE オプションを設定する必要があります:
------ このパートでは、tinymce と tinymce バンドルと tinymce プラグインを扱います: ----------
$config['img_path'] = '/web/uploads/documents';
(またはあなたに合った他のパス)でweb/bundles/stfalcontinymce/vendor/tiny_mce/plugins/jbimages/config.php
。(もちろん、最初に stfalcon tinymce バンドルをインストールする必要があります)。web/bundles/stfalcontinymce/js/init.jquery.js
次に、より多くのオプションをconfig.yml
読み取れるように少し編集しました。
そして最後にconfig.yml
:
それだけです。お役に立てれば ;-)
symfony-sonata - SonataUserBundle ユーザーのリストを管理ダッシュボード (SonataAdminBundle) に追加するには?
ユーザーを管理ダッシュボードに追加するには?
私のアプリ:- シンフォニー 2.0.16
- FOSUserBundle 1.2.x
- SonataAdminBundle
- SonataMediaBundle
- SonataPageBundle
- SonataUserBundle
sonata-project.org の指示に従いましたが、エラーは発生しませんでしたが、管理ダッシュボードが空です! ユーザーとグループを管理したいと考えています。
それが関連しているかどうかはわかりませんが、Sonata は次のようにカーネルに追加されます。
new SonataUserBundle('FOSUserBundle')
ユーザーとグループの CRUD を管理ダッシュボードに追加するには?
私の設定を見たい場合は、どの部分か教えてください。たくさんのコード行があり、この質問をきれいにしたかったので、すべての構成を投稿しませんでした。