Search the Community

Showing results for tags 'breadcrumbs'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 2 results

  1. По умолчанию заголовок страниц с записями модулей в 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[] = "<a href='index.php?module={$this->module}&action=DetailView&record={$this->bean->id}'>".$this->bean->get_summary_text()."</a>"; $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[] = '<A href="index.php?module=' . $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . '</A>'; чтобы получилось вот так: /** * 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[] = '<A href="index.php?module=' . $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . '</A>'; $params[] = "<a href='index.php?module={$this->module}&action=DetailView&record={$this->bean->id}'>".$this->bean->get_summary_text()."</a>"; $params[] = $GLOBALS['app_strings']['LBL_EDIT_BUTTON_LABEL']; } else $params[] = $GLOBALS['app_strings']['LBL_CREATE_BUTTON_LABEL']; break; case 'DetailView': $params[] = '<A href="index.php?module=' . $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . '</A>'; $beanName = $this->bean->get_summary_text(); $params[] = $beanName; break; } } return $params; } В результате во всех модулях в режиме редактирования и просмотра появятся хлебные крошки с названием модуля и возможностью перейти на список его записей Просмотреть полную запись
  2. По умолчанию заголовок страниц с записями модулей в 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[] = "<a href='index.php?module={$this->module}&action=DetailView&record={$this->bean->id}'>".$this->bean->get_summary_text()."</a>"; $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[] = '<A href="index.php?module=' . $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . '</A>'; чтобы получилось вот так: /** * 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[] = '<A href="index.php?module=' . $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . '</A>'; $params[] = "<a href='index.php?module={$this->module}&action=DetailView&record={$this->bean->id}'>".$this->bean->get_summary_text()."</a>"; $params[] = $GLOBALS['app_strings']['LBL_EDIT_BUTTON_LABEL']; } else $params[] = $GLOBALS['app_strings']['LBL_CREATE_BUTTON_LABEL']; break; case 'DetailView': $params[] = '<A href="index.php?module=' . $this->module . '&action=index">' . $GLOBALS['app_list_strings']['moduleList'][$this->module] . '</A>'; $beanName = $this->bean->get_summary_text(); $params[] = $beanName; break; } } return $params; } В результате во всех модулях в режиме редактирования и просмотра появятся хлебные крошки с названием модуля и возможностью перейти на список его записей