ProductSelectorFieldAssembler::getProductSelectorHtml

  1. Bitrix24 API (v. 23.675.0)
  2. catalog
  3. ProductSelectorFieldAssembler
  4. getProductSelectorHtml
  • Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/grid/row/assembler/productselectorfieldassembler.php
  • Класс: BitrixCatalogGridRowAssemblerProductSelectorFieldAssembler
  • Вызов: ProductSelectorFieldAssembler::getProductSelectorHtml
private function getProductSelectorHtml(array $row): string
{
	global $APPLICATION;

	/**
	 * @var CMain $APPLICATION
	 */

	$productId = (int)$row['ID'];
	$skuId = $this->getProductSkuId($productId);

	$productFields = array_merge($row, [
		'IBLOCK_ID' => $this->getSettings()->getIblockId(),
		'SKU_IBLOCK_ID' => $this->getSettings()->getOffersIblockId(),
		'SKU_ID' => $skuId,
	]);

	$urlBuilder = $this->getSettings()->getUrlBuilder();

	ob_start();
	$APPLICATION->IncludeComponent(
		'bitrix:catalog.grid.product.field',
		'',
		[
			'GRID_ID' => $this->getSettings()->getId(),
			'COLUMN_NAME' => current($this->getColumnIds()),
			'ROW_ID' => RowType::ELEMENT . $productId,
			'ROW_ID_MASK' => 'E#ID#',
			'PRODUCT_FIELDS' => $productFields,
			'ENABLE_IMAGE_INPUT' => false,
			'ENABLE_CHANGES_RENDERING' => false,
			'USE_SKU_TREE' => true,
			'BUILDER_CONTEXT' => isset($urlBuilder) ? $urlBuilder->getId() : null,
			'SKU_TREE' => $this->skuTree[$productId][$skuId] ?? [],
		]
	);

	return ob_get_clean();
}

Добавить комментарий