The hook should run once after saving, but runs four times. Code of the Hook:
Хук должен запускаться только один раз, после сохранения, но запускается четыре раза. Код хука:
PHP Code:
<?php
namespace Espo\Custom\Hooks\Account;
use Espo\ORM\Entity;
class AccountNew extends \Espo\Core\Hooks\Base
{
public function afterSave(Entity $entity, array $options = array())
{
$GLOBALS['log']->warning('AccountNew - working!');
if ($entity->isNew()&& empty($entity->get('website')) && empty($options['ignoreHook'])) {
$GLOBALS['log']->warning('AccountNew - website is empty!');
$entity->set('website', 'www.website.com');
$this->getEntityManager()->saveEntity($entity, ['ignoreHook' => true]);
}
}
}
Записи лога, после выполнения условия хука:
PHP Code:
[2019-01-28 07:51:01] Espo.WARNING: AccountNew - working! [] []
[2019-01-28 07:51:01] Espo.WARNING: AccountNew - website is empty! [] []
[2019-01-28 07:51:01] Espo.WARNING: AccountNew - working! [] []
[2019-01-28 07:51:02] Espo.WARNING: AccountNew - working! [] []
[2019-01-28 07:51:18] Espo.WARNING: AccountNew - working! [] []
Если хука два, то они запускаются шесть или восемь раз.Как запускать хук только один раз, после сохранения?
Comment