Как создать логический хук в SugarCrm, когда мы создаем модуль через конструктор модулей

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


person Mahi Chopra    schedule 28.06.2011    source источник


Ответы (4)


См. вопрос 4196257 для использования логики крючки.

person Kåre Werner Storgaard    schedule 30.06.2011
comment
Этот вопрос на самом деле не отвечает на вопрос ОП (по крайней мере, не так, как я его прочитал). Я читаю это как «Как добавить логический хук в пакет, созданный в Module Builder». В то время как вопрос в вашей ссылке только объясняет, как обычно создавать логический хук. У меня очень похожий вопрос: можно ли добавить логический хук (или другой код, недоступный через графический интерфейс Module Builder), чтобы его можно было повторно развернуть в будущем. - person Anthony; 18.10.2011
comment
Насколько я знаю, через конструктор модулей нельзя добавить хуки. Однако вы можете создавать рабочие процессы, которые в основном делают то же самое. Но если вам нужны некоторые сложные расчеты, рабочих процессов обычно недостаточно. Но если вы вручную добавите логический хук в файлы, как описано, он также будет экспортирован, если вы экспортируете свои пользовательские изменения для модуля в конструкторе модулей. Затем его можно импортировать в другой экземпляр Sugar. (Вы можете проверить содержимое файла, открыв zip-файл) - person Kåre Werner Storgaard; 19.10.2011

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

Даже тот факт, что для этого manifest.php install_def есть параметр под названием «logic_hooks», кажется, что он по-прежнему не работает, когда logic_hook, который вы хотите добавить, является частью развертываемого вами пакета (да, это очень раздражает).

Я писал об этом на сахарном форуме, вы можете увидеть более подробную информацию @: http://www.sugarcrm.com/forums/f6/module-builder-deploy-deletes-my-logic_hook-php-76402/

person dkinzer    schedule 22.11.2011
comment
Довольно хакерским способом было бы поместить логический хук в файл глобальных логических хуков - custom/modules/logic_hooks.php. Он также читается каждый раз, когда читаются хуки модуля, и хотя он предназначен для глобальных хуков, на самом деле вы можете поместить туда любые определения хуков. Недостатком этого будет то, что если вы поместите хук на что-то вроде after_save, он будет вызываться для любого типа модуля, поэтому внутри хука вам нужно будет проверить, принадлежит ли вам бин, который у вас есть. Но это, вероятно, позволит вам обойти проблему с МБ. - person StasM; 22.11.2011
comment
Да, член службы поддержки Sugar предложил мне это как обходной путь. - person dkinzer; 22.11.2011
comment
+ это касается только файла logic_hook, любая другая настройка также удаляется. - person dkinzer; 22.11.2011
comment
@StasM знает, что вы ответили на него еще в 2011 году, но у сахара 6.5 все тот же потрясающий дизайн. Есть ли другой способ добавить больше логических ловушек без повторного развертывания пакета? Знаете ли вы, будет ли ваше решение работать для пользовательских модулей? - person Robert Sinclair; 16.08.2018

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

/пользовательские/модули//logic_hooks.php

Для понимания логического хука вы можете перейти по этой ссылке

Логический хук

Я надеюсь, что это поможет вам

person Abhi Adr    schedule 09.09.2014

1Пользовательские/модули/\logic_hooks.php

logic_hooks.php

Описания

1 : индекс массива

/Leads/logichooks_class.php :путь к файлу класса Logic Hooks

ogic_hooks_class: Имя класса Logic_hooks

before_save_method: имя метода класса Logic Hooks

Logicooks_class.php

id."' "; } ?>
person MANI    schedule 14.04.2016