2017-08-16 5 views
1

所有者だけが編集できる「Sonata_type_collection」フィールドがあります。この属性は、他の属性を編集することができます。symfony 3 SonataAdminは、フォーム編集で "Sonata_type_collection"フィールドに読み取り専用を表示します。

それが何らかの形で動作します
$formMapper->add('commandeElements', 'sonata_type_collection', array('required'=> true,'by_reference' => false,'attr' => array(
      'readonly' => true, 
      'disabled' => true 
     )), array(
     'edit' => 'inline', 
     'inline' => 'table', 
     'sortable' => 'position', 
    )); 

は、属性を編集することはできません(フォームが送信されたときに、エラーメッセージが表示される)が、ボタン「追加」チェックボックス」: 私はこれが、何かを見つけることができませんでした少なくとも「ビュー」ではドロップダウンを編集することができます。

これを行う方法はありますか?

答えて

0

あなたはオプションの配列

https://sonata-project.org/bundles/admin/3-x/doc/reference/form_types.html#sonata-type-collection

btn_add = falseを使用して、ボタンを非表示にすることができますが、私はおそらく、小枝とフロントエンドでチェックしてみてください、ユーザーが特定の役割{% if is_granted('ROLE_ADMIN') %} ... {% endif %}を持っているかどうかを確認し、有効または無効にしますフォームコンポーネント。

私はおそらく行います...その後

{% set disabled = !is_granted('ROLE_YOU_WANT_TO_ALLOW') %} // in your case ROLE_OWNER 

とのような何かをしようと、レンダリング...小枝テンプレート参照

http://symfony.com/doc/current/reference/forms/twig_reference.html#form-variables-reference

例として

{{ form_row(yourForm.yourCollectionName, { 
        'disabled': disabled 
       }) }} 

テイク

それはあなたが望むことをさせるかもしれないアイデアです

+0

お返事ありがとうございました、あなたは나뭇가지でフロントエンドでそれを行う方法をより具体的にすることができますか? – Midoox

+0

答えを変更しました – Enumus

関連する問題