問題タブ [sonata-user-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 に答える
1052 参照

symfony - Sonata ユーザーバンドルに別のユーザーマネージャーをユーザーインジェクトする方法

sonata admin bundle と sonata bundle を使用しようとしています。ApplicationSontaUserBundle を作成しました。fosUserInterface を使用すると、すべて正常に動作します。しかし、たとえば Sso という名前の別のユーザー バンドルがあります。したがって、私のアプリでは、FosUserManager の代わりに Sso userManger を使用する必要があります。Sonata ユーザー バンドルには「admin_orm.xml」が含まれており、このサービス構成ファイルには、ファイルに次の行があります:(sonata ユーザー バンドル内)

Application/Sonata/UserBundle/Resources/config/admin_orm.xml には、次のものがあります。

Application/Sonata/Admin/Model/UserAdmin.php で別の userAdmin を定義したため

元の FosUserInterface の代わりに。しかし、それは私の設定を取り込まない

ユーザーマネージャーが FosUserInterface オブジェクトであり、独自のユーザーマネージャーが必要であると常に不平を言っています。私が変更した場合

/vendor/sonata-project/user-bundle/Sonata/UserBundle/Resources/config/admin_orm.xml

独自のユーザーマネージャーを設定すると、すべて正常に動作します。誰でもこのファイルを上書きする方法を教えてもらえますか?

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

php - Symfony 2.3: 異なるブラウザーと異なる Firefox プロファイル (1 つを除く) での «Bad credentials»

Iceweasel(Debian LinuxのFirefox)と「Entertainment」(お​​よびGoogle Chromeも)と呼ばれる別のプロファイル(「デバッグ」と呼ばれる)でデバッグを行っていましたが、驚いたことに、これらのいずれにもログインできません。しかし、私はまだ通常のプロファイル(「開発」と呼ばれる)でできます。

管理者ユーザーをアクティブ化しようとしましたが、成功しませんでした。これは開発環境でも本番環境でも同じで、Symfony または Apache のログにエラー メッセージはありません。

Symfony 2.3.9 SonataUserBundle 2.2.3 FOSUserBundle 1.3.3

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

php - ManyToMany フィールドを使用して SonataAdmin ユーザーを拡張する

現在、SonataUserBundle の User を拡張して、既存のエンティティとの新しい ManyToMany 関係を追加しようとしています。

ここにある回答に基づいてユーザーを拡張しました - Sonata User Bundle の拡張と新しいフィールドの追加

ユーザー.php

Pledge.php

スキーマを同期して最初に気付いたのは、ピボット テーブルが 1 つではなく 2 つ作成されていることpledge_userですuser_pledge。を追加しようとしました@ORM\JoinTableが、それは 1 つの名前を変更するだけです。両方に同じものを追加すると@ORM\JoinTable、「テーブルが既に存在します」というエラーが表示されます。

admin でユーザー リストにアクセスしようとすると、大きな SQL エラーが発生します。

これは単純なことだと確信していますが、この問題の原因を見つけようと頭を悩ませています。私は何を取りこぼしたか?

完全な User.php: http://pastebin.com/TXunsgm1

完全な Pledge.php: http://pastebin.com/Mta6aiVm

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

symfony - FOSUserBundle のインストール中の問題

公式ドキュメントに記載されているすべてのタスクを実行した後、このエラーが発生します: Sonata userBundle インストールガイド

Bundle "SonataUserBundle" extends bundle "FOSUserBundle", which is not registered.

SonataUserBundle (FOS を含む) を正常にインストールし、config と appkernel を更新しました。

PS: 既に AdminBundle がインストールされています UPDATE1: 追加しましたnew FOS\UserBundle\FOSUserBundle()& このエラーが発生しました InvalidArgumentException: Bundle "ApplicationSonataUserBundle" does not exist or it is not enabled.

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

symfony - symfony プロジェクト; SonataUser、FOSUser およびそれらの registration_content.html.twig

解決済み-- エントリの下部を参照

FOSUserBundle を拡張する SonataUserBundle に慣れようとしています。

インストールは (私の知る限り) うまくいきました。ログインと登録フォームをカスタマイズしたいと思います。app/Resources のテンプレートを上書きしたところ、うまくいきました。ただし、登録フォームについては、なぜ機能するのかわかりません...

これが私の問題です:

SonataUserBundle 登録コントローラー (RegistrationFOSUser1) は、フォームをセットアップし、テンプレートとして FOSUserBundle:Registration:register.html.twig を使用してレンダリングします。

register.html.twig には FOSUserBundle:Registration:register_content.html.twig が含まれています。

register_content.html.twig には、フォームをレンダリングする小枝コードが含まれています。

ただし、実際にレンダリングされるのは SonataUserBundle:Registration:register_content.html.twig です

ここで、SonataUserBundle が FOSUserBundle をどこで、いつ、どのように置き換えるのかわかりません...

ヒントをありがとう!


わかりました、私の質問に対する解決策が symfony のクックブックに十分に文書化されていることがわかりました: http://symfony.com/doc/current/cookbook/bundles/inheritance.html

私と同じように symfony を初めて使用する人のために:

別のバンドル 'ChildBundle' の親 'ParentBundle' を定義すると、ParentBundle から関数、テンプレートなどが呼び出されるたびに、symfony は最初に ChildBundle に同じ名前のファイルがあるかどうかを調べます。

親バンドルは ChildBundle.php で定義されています。

親バンドルのファイルが通常の ParentBundle:path:file 表記で呼び出される限り、これは機能します。

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

php - Symfony2 - オーバーロード登録フォームが CSRF エラーを引き起こす (github リポジトリを追加)

現在、SonataUser 登録フォームをオーバーロードしているため、ユーザーがアカウントを作成するときに独自のカスタム フォームを作成できます。

すべてを適切にオーバーロードしました (ハンドラー、フォーム タイプ、コントローラー、小枝テンプレート)。ただし、フォームを送信すると、データが返されるだけで、新しいユーザーは作成されません。そのため、調べてみると、これをエコーし​​たときにわかりました

CSRF トークンが無効であるというエラーが表示されました。と を使用Symfony 2.4.2してsonata user 2.2.x-devいます。

オーバーロードしたすべてのクラスを紹介します。今のところ、それらは主に親からコピー アンド ペーストされています。

ここに私のフォームハンドラーがあります

ここに私のフォームタイプがあります:

これが私の登録コントローラーです

ここに私のサービスがあります:

これが私のソナタユーザー構成です(app/config/config.yml)

私の小枝のレンダリング:

エラーが発生する理由が本当にわかりません:

私は自分のページ{{form_rest(form)}}にあり、トークンフィールドが存在するため...

更新自分で問題を確認できるように、構成をプルできるように github リポジトリを作成しました。https://github.com/ima-tech/testSonataUser

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

symfony - Symfony2 - ブロック型 sonata.user.block.menu が存在しません

私には1つの例外があります:

私は FOSUserBundle + SonataAdminBundle をインストールしました。どのように理解しているか、SonataBlockBundle とその他の必要なバンドルをインストールする必要があります。

私のカーネルファイル:

私のcomposer.jsonを追加

すべてのバンドルがインストールされています。だから私はなぜこのエラーが発生したのか分かりません

アプリ/設定/config.yml

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

symfony - SonataUserBundle テンプレートをオーバーライドする方法

SonataAdminBundle と SonataUserBundle をインストールしましたが、いくつかの小枝テンプレートをオーバーライドしようとしています。user_block.html.twig を除くすべてで成功しました

これは私のプロジェクト ../app/Resources/ ディレクトリ構造です:

また、SonataAdminBundle または SonataUserBundle ディレクトリの下に配置しようとしましたが、何も機能しませんでした。

user_block テンプレートをオーバーライドするにはどうすればよいですか?

ありがとう