Битрикс — кастомизируем CSV catalog export (csv_new) на примере добавления ссылки на товар

13.01.2018  15:36

На удивление в Битриксе в экспорте торгового каталога в CSV до сих пор нет, например ссылки на товар. Вот, мне это потребовалось реализовать.

Копируем /bitrix/modules/catalog/load/csv_new_run.php в /bitrix/php_interface/include/catalog_export/csv_new_run.php (если его там нет).

После блока с глобальными переменными (строка 107) добавляем так:
global
	$arCatalogAvailProdFields,
	$defCatalogAvailProdFields,
	$arCatalogAvailPriceFields,
	$defCatalogAvailPriceFields,
	$arCatalogAvailValueFields,
	$defCatalogAvailValueFields,
	$arCatalogAvailQuantityFields,
	$defCatalogAvailQuantityFields,
	$arCatalogAvailGroupFields,
	$defCatalogAvailGroupFields,
	$defCatalogAvailCurrencies;
	// added
$arCatalogAvailProdFields[] = Array(
	'value' => "IE_DETAIL_PAGE_URL",
	'field' => "DETAIL_PAGE_URL",
	'important' => "Y",
	'name' => "URL страницы детального просмотра (B_IBLOCK_ELEMENT.DETAIL_PAGE_URL)"
);
$defCatalogAvailProdFields .= ',DETAIL_PAGE_URL';
$field_needed[] = "Y";
// added END


Идём ниже и после строчки $arNeedFields = array_keys($arSortFields); (~530 строка) добавляем ещё строчку так:
		$arNeedFields = array_keys($arSortFields);
		$arNeedFields[] = "IE_DETAIL_PAGE_URL";


И Битрикс не был бы Битриксом без неведомой ебанины и пришлось чуть ниже перед $dbIBlockElement = CIBlockElement::GetList( добавить строчечку:
		$selectArray[] = "DETAIL_PAGE_URL";
		$dbIBlockElement = CIBlockElement::GetList


Идём в админку /bitrix/admin/cat_export_setup.php и проверяем результат.
Таким же кандебобером в файл экспорта CSV можно добавлять другие параметры товаров, если вдруг чего нет.


перейти в Блог | Блог (стр. 2)

Ударим лайками по бездорожью, разгильдяйству и бюрократизму!


Ключевые слова (тэги): 1С-Битрикс 26  PHP 37  web-программирование 58  

Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю:
Имя


email (не публикуется)