Сегодня я затрону вопрос юзабилити 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:
Чтобы заработал этот пример необходимо еще подключить jquery. Либо же напишите аналог на чистом javascript.
Javascript можно вывести здесь же, но желательно это сделать в _header.tpl, там же можно подключить и jquery.