Так, ви можете це зробити.
У нас є компонент, який має поняття "Плани", він використовує однаковий вигляд для різних рівнів доступу, але робить поля доступними чи не залежними від груп користувачів.
Тож для тих цілей, які можуть "запустити" план, але не редагувати його, ми вимикаємо купу полів. Залежно від типу поля це може означати встановлення декількох атрибутів поля, наприклад
$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
поле, ви можете зробити це, встановивши один або кілька атрибутів, як показано вище, наприклад, якщо це просто стандартне введення тексту:
$this->form->setFieldAttribute('myReadOnlyCode', 'class', 'readonly');
$this->form->setFieldAttribute('myReadOnlyCode', 'readonly', 'true');