одно поле email1 в пользовательском модуле в suiteCRM - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть модуль типа person, и я не хочу создавать все пользовательские виды и использовать вид по умолчанию.

Поскольку я использую поле email address, оно создает поле email addresses.Как я могу использовать одно поле email1, чтобы с этим bean/id.

не связывалось несколько адресов электронной почты. Я также пытался добавить собственный код, но я думаю, что это не очень хороший подход.Также я хочу сделать это поле обязательным.Почему я использую это поле, а не настраиваемое email поле, я буду использовать это email для рабочих процессов позже.

В настоящее время оно отображается так, как указано на рисунке.Как я могу реализовать это, используя только одно поле электронной почты.

enter image description here

1 Ответ

0 голосов
/ 27 сентября 2019

SuiteCRM управляет электронной почтой в другой таблице, известной как email_addresses.

Итак, все, что вам нужно, идет вразрез с собственной обработкой электронной почты.

Есть 2 способа сделать то, что вы хотите.

  1. Очень сложно!перезаписать sugarField для писем, отображающих только 1 поле.
  2. Использование логических хуков для обновления настраиваемого поля вашей электронной почты до собственного поля email1.

Для # 2 вам придется перейти в студию, создайте поле и добавьте его к нужным представлениям, а также удалите исходную электронную почту.

После этого вам необходимо создать логические хуки для поддержки такого поведения.

$bean_email = new SugarEmailAddress;
$bean_email->addAddress($bean->custom_email_address_field_you_created);
$bean_email->save($bean->id, 'Contacts');

Это позволит обновить электронную почту для этого контакта.(сделайте то же самое для учетных записей).

Вы должны убедиться, что делаете это, иначе вы будете ограничены в собственной функциональности CRM, так как многие вещи отправляются на основной основной адрес электронной почты SuiteCRM.

...