Я хотел создать «Кнопку вызова» в подпанели контактов на странице сведений об учетных записях. Я мог бы создать «кнопку вызова» на странице списка контактов с помощью логических ловушек. Но такой же способ реализации не работает в подпанели. (Эта кнопка не имеет связи с БД, она просто запускает функцию JavaScript при нажатии на нее.). Пожалуйста помоги мне с этим. Заранее спасибо.
Suite CRM — добавление настраиваемого поля в подпанель контактов на странице сведений об учетных записях
Ответы (1)
Взгляните на modules/Contacts/metadata/subpanels/ForAccounts.php.
Почему «ForAccounts»? Это просто означает, что эта подпанель «Контакты» будет загружена для модуля «Учетные записи». Так что у вас может быть разная функциональность для каждого модуля. default — это просто подпанель по умолчанию, используемая, когда вызывающий модуль не указан. Это связано с тем, как SuiteCRM обрабатывает отношения. Вы можете указать в отношениях, какая подпанель должна отображаться.
Обратите внимание на массив «top_buttons». Это кнопки в верхней части вспомогательной панели. Виджет_класса соответствует виджетам в include/generic/SugarWidgets. Например, SubPanelTopCreateButton на самом деле является SugarWidgetSubPanelTopCreateButton.
'top_buttons' => array(
array('widget_class' => 'SubPanelTopCreateButton'),
array('widget_class' => 'SubPanelTopSelectButton', 'popup_module' => 'Contacts'),
),
Если вы хотите добавить свою собственную кнопку, вы должны сначала создать свой собственный виджет, а затем добавить его в массив top_buttons.
Подпанели используют следующее для создания кнопок
- включить/общий/LayoutManager.php
- включить/SubPanel/SubPanel.php:120
- включить/SubPanel/SubPanelTiles.php:426
Возможно, вам придется зарегистрировать виджет в менеджере компоновки.
SugarWidgets являются основной функцией и в настоящее время не загружаются из пользовательского каталога.
Взгляните на SugarWidgetSubPanelTopCreateTaskButton.php в качестве справочного руководства.
<?php $dictionary['Accounts']['fields']['call_button_c'] = array( 'name' => 'call_button_c', 'vname' => 'LBL_CALL_BUTTON_C', 'type' => 'varchar', 'source' => 'non-db',); ?>
Чтобы добавить настраиваемые поля в подпанель контактов на странице сведений об учетных записях, нам нужно отредактировать только модуль «Учетные записи»? Где-то я нашел, чтобы отредактировать модуль контактов. Спасибо - person user1740757   schedule 21.03.2017