はい、できます。
「プラン」の概念を持つコンポーネントがあり、異なるアクセスレベルに対して同じビューを使用しますが、ユーザーグループに応じてフィールドにアクセスできるようにするかどうかを指定します。
したがって、プランを「実行」できるが編集はできない用途では、一連のフィールドを「オフ」にします。フィールドタイプによっては、これはいくつかのフィールド属性を設定することを意味します。
$this->form->setFieldAttribute('name', 'class', 'readonly');
$this->form->setFieldAttribute('name', 'readonly', 'true');
$this->form->setFieldAttribute('description', 'class', 'readonly');
$this->form->setFieldAttribute('description', 'disabled', 'true');
$this->form->setFieldAttribute('description', 'type', 'text');
$this->form->setFieldAttribute('published', 'class', 'readonly');
$this->form->setFieldAttribute('published', 'readonly', 'true');
$this->form->setFieldAttribute('publish_up', 'class', 'readonly');
$this->form->setFieldAttribute('publish_up', 'readonly', 'true');
$this->form->setFieldAttribute('publish_up', 'format', '%Y-%m-%d %H:%M:%S');
$this->form->setFieldAttribute('publish_up', 'filter', 'user_utc');
$this->form->setFieldAttribute('publish_down', 'class', 'readonly');
$this->form->setFieldAttribute('publish_down', 'readonly', 'true');
$this->form->setFieldAttribute('publish_down', 'format', '%Y-%m-%d %H:%M:%S');
$this->form->setFieldAttribute('publish_down', 'filter', 'user_utc');
したがって、myReadOnlyCode
フィールドが何であるかに応じて、上記のように1つ以上の属性を設定することで、たとえば標準のテキスト入力だけの場合に、それを行うことができます。
$this->form->setFieldAttribute('myReadOnlyCode', 'class', 'readonly');
$this->form->setFieldAttribute('myReadOnlyCode', 'readonly', 'true');