Владимир Asked:2022-09-13 23:10:56 +0000 UTC2022-09-13 23:10:56 +0000 UTC 2022-09-13 23:10:56 +0000 UTC 如何在 1s Bitrix 通过管理面板导入 xml hl-block 时,写下填写字段的规则? 772 请告诉我,是否可以在 Bitrix 中设置规则,以便通过管理面板导入高负载块时,其中一个字段的值由公式计算: 'поле3' = md5(serialize(['поле1','поле2'])); битрикс 0 个回答 Voted Best Answer Владимир 2022-09-15T00:03:41Z2022-09-15T00:03:41Z 找到了一个称为高负载块事件处理程序的解决方案 您需要在 init.php 文件中挂起 OnBeforeAdd 处理程序 $eventManager = \Bitrix\Main\EventManager::getInstance(); $eventManager->addEventHandler('', 'ColorsOnBeforeAdd', 'OnBeforeAdd'); /** * * @param \Bitrix\Main\Entity\Event $event * @return \Bitrix\Main\Entity\EventResult */ function OnBeforeAdd(\Bitrix\Main\Entity\Event $event) { $entity = $event->getEntity(); $entityDataClass = $entity->GetDataClass(); // тип события. вернет ColorsOnBeforeAdd $eventType = $event->getEventType(); // получаем массив полей хайлоад блока $arFields = $event->getParameter("fields"); //получить все доступные в этом событие данные $arParameters = $event->getParameters(); $result = new \Bitrix\Main\Entity\EventResult(); //модификация данных if (empty($arFields['POLE1'])) { $arFields['POLE3'] = md5(serialize([$arFields['POLE1'],$arFields['POLE2']])); $result->modifyFields($arFields); } return $result; } https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2244&LESSON_PATH=3913.5062.5748.2244#events
找到了一个称为高负载块事件处理程序的解决方案
您需要在 init.php 文件中挂起 OnBeforeAdd 处理程序
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2244&LESSON_PATH=3913.5062.5748.2244#events