2016-08-05 10 views
0

私はSilexで新しいです。 私はthisスクリプトを使用しています。2つのフォーム(user/admin)を使用して、Silexでフォームタイプを使用してください。

コメントテーブルに「status」という新しいフィールドを追加して、管理者のコメントを検証しました。

thisスクリプトでは、コメント用のフォームタイプがあります。

単純なユーザーの場合はテキストエリアを表示し、管理者の場合はコメントのステータスを変更するtextarea + choiceフィールドを表示するようにこのファイルを変更します。

私はrole_adminチェックを使用することはできません。

if ($app['security.authorization_checker']->isGranted('ROLE_ADMIN')) 

あなたは、単にROLEユーザーに応じて、異なるフォームを表示するには、お勧めはどうすればよいですか?

答えて

0

いくつかのオプションがあります。

  1. フォームタイプでコンテナを渡すことができます。 $ appはDIコンテナなので、クラスに渡すときにのみアクセスできます。

  2. フォームタイプを拡張するか、チェックボックスのみを作成する2番目のタイプを作成します。あなたのコントローラでは、$ appにアクセスして、それを選択する必要があります。

+0

お返事ありがとうございます。私はそれをチェックします。フォームタイプを追加することができますが、今後追加できるすべてのフォームに50フォームタイプを使用することは望ましくありません。多分、最初の選択肢がより最適化されます。 –

関連する問題