По умолчанию заголовок страниц с записями модулей в SuiteCRM отображается без хлебных крошек. По этому зачастую сходу сложно понять, где находишся (в каком модуле) при просмотре карточки. Плюс если хочешь уйти на список записей модуля приходится находить этот модуль в верхнем меню и нажимать на него:
Конечно ничего страшного, но хочется побыстрее/понагляднее. Вот что вышло:
На мой взгляд так удобнее ориентироваться в системе: сразу видишь где ты находится в настоящий момент. Плюс с навигацией немного попроще. А достигается это очень просто: нужно найти файл include/MVC/View/SugarView.php, в нем найти функцию
protected function _getModuleTitleParams($browserTitle = false)
а в ней такие строки:
case 'EditView': if(!empty($this->bean->id) && (empty($_REQUEST['isDuplicate']) || $_REQUEST['isDuplicate'] === 'false')) { $params[] = "".$this->bean->get_summary_text().""; $params[] = $GLOBALS['app_strings']['LBL_EDIT_BUTTON_LABEL']; } else $params[] = $GLOBALS['app_strings']['LBL_CREATE_BUTTON_LABEL']; break; case 'DetailView': $beanName = $this->bean->get_summary_text(); $params[] = $beanName; break; }
и в них добавить
$params[] = '. $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . '';
чтобы получилось вот так:
/** * Returns an array composing of the breadcrumbs to use for the module title * * @param bool $browserTitle true if the returned string is being used for the browser title, meaning * there should be no HTML in the string * @return array */ protected function _getModuleTitleParams($browserTitle = false) { $params = array($this->_getModuleTitleListParam($browserTitle)); //$params = array(); if (isset($this->action)){ switch ($this->action) { case 'EditView': if(!empty($this->bean->id) && (empty($_REQUEST['isDuplicate']) || $_REQUEST['isDuplicate'] === 'false')) { $params[] = '. $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . ''; $params[] = "".$this->bean->get_summary_text().""; $params[] = $GLOBALS['app_strings']['LBL_EDIT_BUTTON_LABEL']; } else $params[] = $GLOBALS['app_strings']['LBL_CREATE_BUTTON_LABEL']; break; case 'DetailView': $params[] = '. $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . ''; $beanName = $this->bean->get_summary_text(); $params[] = $beanName; break; } } return $params; }
В результате во всех модулях в режиме редактирования и просмотра появятся хлебные крошки с названием модуля и возможностью перейти на список его записей
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign In Now