Sim, você pode fazer isso.
Temos um componente que possui o conceito de "Planos", que usa a mesma visualização para diferentes níveis de acesso, mas torna os campos acessíveis ou não, dependendo dos grupos de usuários.
Portanto, para aqueles usos que podem "Executar" um plano, mas não editá-lo, desativamos "vários" campos. Dependendo do tipo de campo, isso pode significar definir vários atributos de campo, por exemplo,
$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');
Portanto, dependendo do seu myReadOnlyCode
campo, você pode fazer isso definindo um ou mais dos atributos, como mostrado acima, por exemplo, se for apenas uma entrada de texto padrão:
$this->form->setFieldAttribute('myReadOnlyCode', 'class', 'readonly');
$this->form->setFieldAttribute('myReadOnlyCode', 'readonly', 'true');