Có bạn có thể làm điều này.
Chúng tôi có một thành phần có khái niệm "Gói", nó sử dụng cùng một chế độ xem cho các cấp truy cập khác nhau, nhưng làm cho các trường có thể truy cập được hay không tùy thuộc vào nhóm người dùng.
Vì vậy, đối với những mục đích sử dụng có thể "Chạy" một kế hoạch nhưng không chỉnh sửa nó, chúng tôi sẽ "tắt" một loạt các trường. Tùy thuộc vào loại trường, điều này có thể có nghĩa là đặt một số thuộc tính trường, ví dụ:
$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');
Vì vậy, tùy thuộc vào myReadOnlyCode
lĩnh vực của bạn, bạn có thể làm gì bằng cách đặt một hoặc nhiều thuộc tính như được hiển thị ở trên, ví dụ: nếu đó chỉ là một kiểu nhập văn bản tiêu chuẩn:
$this->form->setFieldAttribute('myReadOnlyCode', 'class', 'readonly');
$this->form->setFieldAttribute('myReadOnlyCode', 'readonly', 'true');