Skip to content

Instantly share code, notes, and snippets.

@Ginnw2
Created September 23, 2022 09:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ginnw2/dfcc168861cc258b17225902793067b5 to your computer and use it in GitHub Desktop.
Save Ginnw2/dfcc168861cc258b17225902793067b5 to your computer and use it in GitHub Desktop.
Картинка анонса, детальная картинка и MORE_PHOTO из текстового поля при обмене с 1С.
<?
$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