В зависимости от роли пользователя или статуса записи может потребоваться возможность использовать разные формы для ее отображения. Эта функция работает как с режимом просмотра, так и с режимом редактирования (detailviewdefs.php или editviewdefs.php).
Предположим, что надо создать две формы редактирования для модуля CustomNewModules
. Одна из форм содержит несколько полей доступных только для чтения. Создайте два файла:
custom/modules/CustomNewModules/metadata/editviewdefs.php custom/modules/CustomNewModules/metadata/edit_readonlyfields_viewdefs.php
Для управления этими формами создайте или отредактируйте файл:
custom/modules/CustomNewModules/views/view.edit.php
Создайте имя класса по шаблону и включите две функции.
<?php if (!defined('sugarEntry') || !sugarEntry) { die('Not A Valid Entry Point'); } class CustomNewModulesViewEdit extends ViewEdit { public function getMetaDataFile() { $oldType = $this->type; if ($this->bean->status === 'close' ) { $this->type = $oldType . '_readonlyfields_'; } $metadataFile = parent::getMetaDataFile(); $this->type = $oldType; return $metadataFile; } public function display() { $_SESSION['developerMode']=true; parent::display(); $_SESSION['developerMode']=false; } }