Дмитрий Г

Members
  • Content count

    3
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Дмитрий Г

  • Rank
    Newbie
  1. Упс, небольшая поправка: Пункт 3 - неправильно рассмотрел название поля - должен выглядеть так; $bean->name = $bean->code_inc.'-'.$bean->account_c.'-'.$bean->name_temp;
  2. Посмотрел чтобы научиться извлекать значения из связанного поля - спасибо автору, разобрался =)) В качестве благодарности, пример того, какможно категорически упростить хук. 1. Создатьчерез студию дополнительное поле "name_temp" и поставить его в макетередактирования на место оригинального "name" 2. Оригинальному полю "name", там же в студиизадатьзначение по умолчанию к примеру "не задано" 3. Весь хук теперь будет из одной строчки: $bean->name = $bean->code_inc.'-'.$bean->projects_accounts_name.'-'.$bean->name_temp;
  3. Всем привет! Нужно было, чтобы в зависимости от роли, по разному отображались модули.Долго искал решение вопроса, как на забугорных, так и на наших сайтах, полного решения нигде не нашел. Даже имея под рукой готовую систему как образец кастомизированную профи (а я таким себяне считаю =))) ), нашел в ней только вариант с использованием js скриптов, что меня не совсем устраивало. В итоге пришлось самому с помощью разных источников, красных глаз и многих сигарет создавать свое. Все работает =)))) как на родных, так и на своих модулях. Вид просмотра делается аналогично. Кому надо - берите Если найдете ошибки или идеи для оптимизации - пишите сюда - буду рад видеть. <?php // для переключения вида правки модуля dgkey_productsia в зависимости от роли // этот файл должен лежать в custom/modules/dgkey_productsia/views/view.edit.php // также должен быть подготовлен файл // /custom/modules/dgkey_productsia/metadata/editviewdefs2.php с пользовательским видом require_once('include/MVC/View/views/view.edit.php'); class dgkey_productsiaViewEdit extends ViewEdit // dgkey_productsia - название модуля, ViewEdit берем из аналогичного файла // в папке view установленнго модуля или /include/MVC/View/views/view.detail.php { private $manager; // пользовательское название function dgkey_productsiaViewEdit() // название функции берем из аналогичного файла в папке view установленнго модуля { unlink ('cache/modules/dgkey_productsia/EditView.tpl'); // отключает закэшированный } public function getMetaDataFile() // переписывает это - /include/MVC/View/SugarView.php { $metadataFile = null; $foundViewDefs = false; // идем проверяем роль текущего пользователя и если она ZakupControl // этого устанавливаем $viewDef = 'editviewdefs2' $objACLRole = new ACLRole(); $roles = $objACLRole->getUserRoles($GLOBALS['current_user']->id); if(in_array('ZakupControl',$roles)){ $viewDef = 'editviewdefs2'; } else{ $viewDef = 'editviewdefs'; } $coreMetaPath = 'modules/'.$this->module.'/metadata/' . $viewDef . '.php'; $metadataFile = 'custom/' . $coreMetaPath; return $metadataFile; } }