Редактирование global links

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

Когда я столкнулся с такой проблемой, то первым делом воспользовался поиском текста в файлах и быстро установил, что «ноги» у этих ссылок растут из файла 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 в “родительском” файле. Немного поигравшись с ним,  обнаружил красивую возможность создания выплывающих списков. Изображение подменю вы может увидеть на рисунке, если вам понравится пользоваться нижеприведенным кодом для создания аналогичного меню.

Сквозные ссылки global links 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']);
?>

Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

Есть 2 коммент. к “Редактирование global links”

  1. Все здорово! Спасибо!

    Но не понял, как сделать так, чтобы ссылки открывались в новом окне.

  2. Шуга Админ:

    Без изменения функционала к сожалению никак. Возможно самый простой и 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.

Написать комментарий

Вы должны войти чтобы комментировать.