Метод используется для перевода элемента инфоблока. Нестатический метод.
Code
Copy code
Code copied!
FCIBlockElement::Translate( int|string $ID, // Идентификатор элемента инфоблока array $arFields = Array(), // Массив полей, содержащих данные для перевода string $target, // Целевой язык перевода (например, "en", "fr", "de") string|bool $siteId = false, // Идентификатор сайта, по умолчанию false string|bool $source = false // Исходный язык перевода, по умолчанию false );
- $ID — Идентификатор элемента инфоблока, который необходимо перевести.
- $arFields — Массив полей с данными для перевода (например, array("NAME" => "Название")).
- $target — Целевой язык, на который осуществляется перевод (например, “en”, “fr”).
- $siteId — Идентификатор сайта. По умолчанию — false.
- $source — Исходный язык перевода. По умолчанию — false.
Code
Copy code
Code copied!
$res = CIBlockElement::GetList(["ID" => "asc"], $arFilter); if ($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); $props = $ob->GetProperties(); foreach ($props as $prop) { if (is_array($prop['PROPERTY_VALUE_ID'])) { foreach ($prop['PROPERTY_VALUE_ID'] as $key => $propertyValueId) { $arFields["PROPERTY_VALUES"][$prop["ID"]][$propertyValueId] = [ 'VALUE' => $prop['~VALUE'][$key], 'DESCRIPTION' => $prop['~DESCRIPTION'][$key], ]; } } else $arFields["PROPERTY_VALUES"][$prop["ID"]] = [ $prop['PROPERTY_VALUE_ID'] => [ "VALUE" => $prop['~VALUE'], 'DESCRIPTION' => $prop['~DESCRIPTION'], ] ]; } // Переводим на все языки на которые настроен инфоблок foreach (CFanTranslator::getIblockAutoLangs($arFields['IBLOCK_ID']) as $lid) { $fs = new FCIBlockElement(); $fs->Translate($arFields["ID"], $arFields, $lid); } }
Количество показов: 330
Дата изменения: 02.10.2024 19:03:41