Как добавить кнопку настраиваемого поля в поле в SugarCRM - PullRequest
1 голос
/ 20 июня 2011

Я просмотрел блоги разработчиков и могу найти только способы создания настраиваемой кнопки глобальной формы или замены поля настраиваемым кодом. Я не хочу заменять поле, я хочу добавить кнопку рядом с полем.

Вот что я имею в виду:

[Date Field][date_picker_button]   [time field][time_is_now]

Кнопка, которую я хочу добавить, - time_is_now, позволяющая пользователю заполнить поле времени текущим временем.

Я попытался обновить custom/modules/Notes/metadata/quickcreatedefs.php с помощью:

array (
   'name' => 'billable_start_c',
    'label' => 'LBL_BILLABLE_START',
    'customCode' => '<button</button>',
   )

Но это заменяет поле ввода пользовательским кодом. Я мог бы просто вставить код акции, а затем свой собственный код, но поля даты используют yui и виджет, поэтому я бы предпочел не делать этого.

В любом случае можно сделать что-то вроде:

  'customCode' => '{default} <button></button>',

чтобы код по умолчанию получал вывод, а затем пользовательский код?

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Вы можете создать новый шаблон SugarField, который по существу позволит вам создать разметку для вашего поля. Если вы назвали свой SugarField TimeIsNow, вы можете создать поле с этим типом (вместо text, int, date или чего-либо еще). Вы должны взглянуть на некоторые другие SugarFields, чтобы увидеть, как они отформатированы, но на самом деле это просто HTML. Когда для поля установлено значение этого типа, оно извлекает этот HTML-шаблон. Вы можете привязать свой JS к функции onclick. Сахар очень легко настроить, поэтому я определенно не привыкну решать все ваши потребности в настройке таким образом ... Хотя это еще один способ взглянуть на это.

0 голосов
/ 22 июня 2011

Не используйте пользовательский код, если можете помочь.Либо скопируйте tpl в custom/modules/[yourmodule]/tpls/[yourtemplate] и закодируйте битон там, либо используйте ловушку after_ui_frame и несколько js, чтобы вставить вашу пользовательскую кнопку в DOM.

...