Sidequickcreate – это панель в SugarCRM, предназначенная для быстрого создания записей, обычно располагающаяся слева под меню модуля (в зависимости от настроек и темы месторасположение может меняться).
Я думаю, что нет необходимости объяснять ее предназначение, все и так это прекрасно понимают. Зачастую это полезная вещь, но бывают случаи, когда вам необходимо убрать панель. Предлагаю на ваш суд два способа избавления от sidequickcreate.
Способ №1.
Поля, необходимые для этой панели, находятся в папке metadata необходимого вам модуля, в файле sidecreateviewdefs.php. Если вы удалите данные из этого файла, то шапка панели у вас все равно останется. А вот если удалить полностью этот файл, то и панель полностью исчезнет.
Совет: лучше переименовать этот файл, тогда в случае необходимости его можно будет всегда вернуть.
Минус у данного метода только один и относится исключительно к пользовательским модулям. Дело в том, что если вы написали свой модуль и удалили у себя данный файл, а потом распространяете этот модуль, то при установке вашего модуля, SugarCRM автоматически создаст данный файл и наполнит его стандартным содержимым. Пользователи, установившие себе ваш модуль, могут создавать запись через эту панель, да еще и с непонятно какими полями. Для таких случаев существует другой способ.
Способ №2.
Способ заключается в модификации класса, отвечающего за отображение данной панели — ViewSidequickCreate. Создадим свой класс, унаследованный от родительского класса ViewSidequickCreate и переопределим метод display, отвечающий за вывод данной панели. Пример:
- Код:
-
<?php
require_once('include/MVC/View/views/view.sidequickcreate.php');
class YourmoduleViewSidequickcreate extends ViewSidequickCreate
{
function YourmoduleViewSidequickcreate()
{
parent::ViewSidequickcreate();
}
function display()
{
return '';
}
}
?>
Yourmodule – название вашего модуля, или родного модуля SugarCRM.
Этот файл необходимо назвать view.sidequickcreate.php и разместить в папке views нужного модуля. Такой метод идеален при создании собственного модуля и может использоваться для родных модулей. Только в случае с родными модулями не забываем, чтобы данный способ был неизменен при обновлении crm, необходимо данный файл поместить в директорию: /custom/modules/[NAME_MODULE]/views/view.sidequickcreate.php.
Если какой-либо директории не существует, то создаете ее вручную.
И напоследок пример.
Задача: Необходимо убрать sidequickcreate панель из модуля контакты.
Создадим файл по пути /custom/modules/Contacts/views/view.sidequickcreate.php со следующим содержимым:
- Код:
-
<?php
require_once('include/MVC/View/views/view.sidequickcreate.php');
class ContactsViewSidequickcreate extends ViewSidequickCreate
{
function ContactsViewSidequickcreate()
{
parent::ViewSidequickcreate();
}
function display()
{
return '';
}
}
?>
Статья взята с sugartalk.ru