Ya, Anda bisa melakukan ini.
Kami memiliki komponen yang memiliki konsep "Paket", ia menggunakan tampilan yang sama untuk tingkat akses yang berbeda, tetapi membuat bidang dapat diakses atau tidak tergantung pada grup pengguna.
Jadi, untuk penggunaan yang dapat "Menjalankan" paket tetapi tidak mengeditnya, kami mematikan "sekelompok" bidang. Bergantung pada jenis bidang ini dapat berarti menetapkan beberapa atribut bidang, misalnya
$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');
Jadi, tergantung pada myReadOnlyCode
bidang Anda, Anda dapat melakukannya dengan mengatur satu atau lebih atribut seperti yang ditunjukkan di atas, misalnya jika itu hanya input teks standar:
$this->form->setFieldAttribute('myReadOnlyCode', 'class', 'readonly');
$this->form->setFieldAttribute('myReadOnlyCode', 'readonly', 'true');