Сегодня я затрону вопрос юзабилити SugarCRM, в частности, вопрос о сквозных ссылках в вашей crm системе (в оригинале global links). Очень удобно иметь сквозные ссылки с вашими сайтами, часто используемыми сервисами, и, конечно, не хочется все время видеть такие стандартные для crm ссылки как “Поддержка”, “О нас” и т.д.

Когда я столкнулся с такой проблемой, то первым делом воспользовался поиском текста в файлах и быстро установил, что «ноги» у этих ссылок растут из файла globalControlLinks.php. Открыв его, я нашел нужные ссылки и удалил их. Радость моя была не очень долгой: вышла версия SugarCRM 5.5.1, обновился и увидел старые ссылки на месте. Открыл еще раз этот файл и нашел в самом конце долгожданное спасение: способ управления сквозными ссылками, неизменного при обновлении. Вот эти строчки:
if (sugar_is_file('custom/include/globalControlLinks.php')) {
include('custom/include/globalControlLinks.php');
}
Всегда проверяется наличие пользовательского файла, и в случае его присутствия он выполняется.
Создаем файл custom/include/globalControlLinks.php со следующим содержимым:
<?php unset($global_control_links['training']); unset($global_control_links['about']); ?>
Все ненужные ссылки убиты навсегда. Также я обратил внимание на параметр submenu в “родительском” файле. Немного поигравшись с ним, обнаружил красивую возможность создания выплывающих списков. Изображение подменю вы может увидеть на рисунке, если вам понравится пользоваться нижеприведенным кодом для создания аналогичного меню.
Код
<?php
$sub_menu['companylinks']['yandex'] = array(
'Yandex' => 'http://yandex.ru');
$sub_menu['companylinks']['google'] = array(
'Google' =>'http://google.ru');
$sub_menu['companylinks']['rambler'] = array(
'Rambler' =>'http://rambler.ru');
$sub_menu['companylinks']['binq'] = array(
'Binq' =>'http://binq.com');
$global_control_links['companylinks'] = array(
'linkinfo' => array('Поисковики' => '#'),
'submenu' => $sub_menu['companylinks']
);
unset($global_control_links['training']);
unset($global_control_links['about']);
?>
Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.



Рубрики:
Теги:
Все здорово! Спасибо!
Но не понял, как сделать так, чтобы ссылки открывались в новом окне.
Без изменения функционала к сожалению никак. Возможно самый простой и upgrade save вариант будет выводить javascript, который ко всем ссылкам элемента с id globalLinks, будет добавлять атрибут target со значением _blank. Пример на jquery:
echo '<script>$(function(){$("#globalLinks a").each( function(){$(this).attr("target", "_blank");} )}); </script>';Чтобы заработал этот пример необходимо еще подключить jquery. Либо же напишите аналог на чистом javascript.
Javascript можно вывести здесь же, но желательно это сделать в _header.tpl, там же можно подключить и jquery.