Created
September 23, 2022 09:30
-
-
Save Ginnw2/dfcc168861cc258b17225902793067b5 to your computer and use it in GitHub Desktop.
Картинка анонса, детальная картинка и MORE_PHOTO из текстового поля при обмене с 1С.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<? | |
$em = Bitrix\Main\EventManager::getInstance(); | |
$em->addEventHandler('iblock', 'OnBeforeIBlockElementAdd', [ | |
EventHandlers::class, | |
'on1CUserAddElement' | |
]); | |
$em->addEventHandler('iblock', 'OnBeforeIBlockElementUpdate', [ | |
EventHandlers::class, | |
'on1CUserUpdateElement' | |
]); | |
// Добавляем обработчик события | |
class EventHandlers | |
{ | |
public static function on1CUserAddElement(array &$arFields) | |
{ | |
// проверяем, что это нужный ИБ | |
if ($arFields['IBLOCK_ID'] !== 40) { | |
return; | |
} | |
// проверяем, что это выгрузка, а не правка в админке | |
if(!isset($_GET['type'], $_GET['mode'], $_GET['filename'])) { | |
return; | |
} | |
$arFields["PREVIEW_PICTURE"] = CFile::MakeFileArray($arFields['PROPERTY_VALUES'][916]); | |
$arFields["DETAIL_PICTURE"] = CFile::MakeFileArray($arFields['PROPERTY_VALUES'][917]); | |
$arFields['PROPERTY_VALUES']["MORE_PHOTO"] = Array ( | |
"n0" => Array( | |
"VALUE" => CFile::SaveFile(CFile::MakeFileArray($arFields['PROPERTY_VALUES'][918]), "iblock") | |
) | |
); | |
// тут выполняем нужные действия | |
return; | |
} | |
public static function on1CUserUpdateElement(array &$arFields) | |
{ | |
// проверяем, что это нужный ИБ | |
if ($arFields['IBLOCK_ID'] !== 40) { | |
return; | |
} | |
// проверяем, что это выгрузка, а не правка в админке | |
if(!isset($_GET['type'], $_GET['mode'], $_GET['filename'])) { | |
return; | |
} | |
$arFields["PREVIEW_PICTURE"] = CFile::MakeFileArray($arFields['PROPERTY_VALUES'][916]); | |
$arFields["DETAIL_PICTURE"] = CFile::MakeFileArray($arFields['PROPERTY_VALUES'][917]); | |
$arFields['PROPERTY_VALUES']["MORE_PHOTO"] = Array ( | |
"n0" => Array( | |
"VALUE" => CFile::SaveFile(CFile::MakeFileArray($arFields['PROPERTY_VALUES'][918]), "iblock") | |
) | |
); | |
// тут выполняем нужные действия | |
return; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment