• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/landingsource/dataloader.php
  • Класс: BitrixIblockLandingSourceDataLoader
  • Вызов: DataLoader::fillElementSeo
private function fillElementSeo(array &$row)
	{
		$iproperty = (!empty($row['IPROPERTY_VALUES']) ? $row['IPROPERTY_VALUES'] : []);
		$row['SEO_PROPERTIES'] = [
			SourceSeo::TITLE => [isset($iproperty['ELEMENT_PAGE_TITLE']) && $iproperty['ELEMENT_PAGE_TITLE'] != ''
				? $iproperty['ELEMENT_PAGE_TITLE']
				: $row['NAME']
			],
		];

		if (!empty($iproperty))
		{
			$entity = [
				SourceSeo::BROWSER_TITLE => 'ELEMENT_META_TITLE',
				SourceSeo::KEYWORDS => 'ELEMENT_META_KEYWORDS',
				SourceSeo::DESCRIPTION => 'ELEMENT_META_DESCRIPTION'
			];

			foreach ($entity as $seoItem => $meta)
			{
				if (!empty($iproperty[$meta]))
				{
					$row['SEO_PROPERTIES'][$seoItem] = $iproperty[$meta];
					if (is_array($row['SEO_PROPERTIES'][$seoItem]))
					{
						$row['SEO_PROPERTIES'][$seoItem] = implode(' ', $row['SEO_PROPERTIES'][$seoItem]);
					}
				}
			}
			unset($entity, $seoItem, $meta);
		}
		unset($iproperty);
	}