В зависимости от роли пользователя или статуса записи может потребоваться возможность использовать разные формы для ее отображения. Эта функция работает как с режимом просмотра, так и с режимом редактирования (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;
}
}