Задать вопрос
@Aricus

Почему выдаётся ошибка 500 при вызове bitrix:catalog.item?

Изменяю шаблоны компонента "Каталог". При вызове
$APPLICATION->IncludeComponent(
	'bitrix:catalog.item',
	'',
	array(
		'RESULT' => array(
			'ITEM' => $item,
			'BIG_LABEL' => 'N',
			'BIG_DISCOUNT_PERCENT' => 'N',
			'BIG_BUTTONS' => 'N',
			'SCALABLE' => 'N'
		),
		'PARAMS' => array_merge($generalParams,
			array('SKU_PROPS' => $arResult['SKU_PROPS'][$item['IBLOCK_ID']]))
	),
	$component,
	array('HIDE_ICONS' => 'Y')
);

выдаётся ошибка 500 (если закомментировать этот вызов, страница отображается нормально).
Далее приведу примеры значений переменных (вызовов около 20).
$item
Array
(
[ID] => 8
[IBLOCK_ID] => 1
[NAME] => TE-01
[SHOW_COUNTER] => 2
[SHOW_COUNTER_START_X] => 2021-10-16 03:47:52
[AVAILABLE] => Y
[CODE] => te-01
[XML_ID] => 8
[ACTIVE] => Y
[DATE_ACTIVE_FROM] =>
[DATE_ACTIVE_TO] =>
[SORT] => 500
[PREVIEW_TEXT] => Выносной датчик температуры
[PREVIEW_TEXT_TYPE] => text
[DETAIL_TEXT] => Цифровой датчик температуры TE-01 предназначен для непрерывного измерения температуры в различных неагрессивных средах.



Датчик используется совместно с терморегуляторами, термоконтроллерами в системах бытового отопления.


Герметичный корпус


Точность измерения ±0.5°C (в диапазоне от -10°С до +70°С)


Тип чувствительного элемента DS18B20

[DETAIL_TEXT_TYPE] => html
[DATE_CREATE] => 12.10.2021 17:13:59
[CREATED_BY] => 1
[TAGS] =>
[TIMESTAMP_X] => 13.10.2021 19:11:19
[MODIFIED_BY] => 1
[IBLOCK_SECTION_ID] => 9
[DETAIL_PAGE_URL] => #SITE_DIR#/catalog/#SECTION_CODE_PATH#/#ELEMENT_CODE#.php
[DETAIL_PICTURE] =>
[PREVIEW_PICTURE] =>
[LANG_DIR] => /module/
[EXTERNAL_ID] => 8
[IBLOCK_TYPE_ID] => catalog
[IBLOCK_CODE] => devices
[IBLOCK_EXTERNAL_ID] =>
[LID] => s1
[TYPE] => 1
[BUNDLE] => N
[QUANTITY] => 100
[QUANTITY_TRACE] => Y
[CAN_BUY_ZERO] => N
[MEASURE] => 5
[SUBSCRIBE] => Y
[VAT_ID] => 1
[VAT_INCLUDED] => N
[WEIGHT] => 100
[WIDTH] => 90
[LENGTH] => 100
[HEIGHT] => 65
[PAYMENT_TYPE] => S
[RECUR_SCHEME_LENGTH] =>
[RECUR_SCHEME_TYPE] => D
[TRIAL_PRICE_ID] =>
)

$generalParams
Array
(
[SHOW_DISCOUNT_PERCENT] => Y
[PRODUCT_DISPLAY_MODE] => Y
[SHOW_MAX_QUANTITY] => N
[RELATIVE_QUANTITY_FACTOR] => 5
[MESS_SHOW_MAX_QUANTITY] => Наличие
[MESS_RELATIVE_QUANTITY_MANY] => много
[MESS_RELATIVE_QUANTITY_FEW] => мало
[SHOW_OLD_PRICE] => Y
[USE_PRODUCT_QUANTITY] => 1
[PRODUCT_QUANTITY_VARIABLE] => quantity
[ADD_TO_BASKET_ACTION] => ADD
[ADD_PROPERTIES_TO_BASKET] => Y
[PRODUCT_PROPS_VARIABLE] => prop
[SHOW_CLOSE_POPUP] => Y
[DISPLAY_COMPARE] =>
[COMPARE_PATH] => /module/catalog/compare/
[COMPARE_NAME] => CATALOG_COMPARE_LIST
[PRODUCT_SUBSCRIPTION] => N
[PRODUCT_BLOCKS_ORDER] => Array
(
[0] => price
[1] => props
[2] => sku
[3] => quantityLimit
[4] => quantity
[5] => buttons
)

[LABEL_POSITION_CLASS] => product-item-label-top product-item-label-left
[DISCOUNT_POSITION_CLASS] => product-item-label-bottom product-item-label-right
[SLIDER_INTERVAL] => 5000
[SLIDER_PROGRESS] => N
[~BASKET_URL] => /personal/cart/
[~ADD_URL_TEMPLATE] => /module/catalog/knx/?action=ADD2BASKET&id=#ID#
[~BUY_URL_TEMPLATE] => /module/catalog/knx/?action=BUY&id=#ID#
[~COMPARE_URL_TEMPLATE] => /module/catalog/knx/?action=ADD_TO_COMPARE_LIST&id=#ID#
[~COMPARE_DELETE_URL_TEMPLATE] => /module/catalog/knx/?action=DELETE_FROM_COMPARE_LIST&id=#ID#
[TEMPLATE_THEME] => blue
[USE_ENHANCED_ECOMMERCE] => Y
[DATA_LAYER_NAME] => dataLayer
[BRAND_PROPERTY] =>
[MESS_BTN_BUY] => Купить
[MESS_BTN_DETAIL] => Подробнее
[MESS_BTN_COMPARE] => Сравнение
[MESS_BTN_SUBSCRIBE] => Подписаться
[MESS_BTN_ADD_TO_BASKET] => В корзину
[MESS_NOT_AVAILABLE] => Нет в наличии
)

$arResult['SKU_PROPS'][$item['IBLOCK_ID']]
Array
(
)

$component
CatalogSectionComponent Object
(
[multiIblockMode:Bitrix\Iblock\Component\ElementList:private] =>
[paginationMode:Bitrix\Iblock\Component\ElementList:private] => 1

и так далее, там длинная простыня.
  • Вопрос задан
  • 225 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Tomio
@Tomio
backend developer (python, php)
Смотрите логи ошибок сервера (error_log). Там логируются детальные сообщения о причинах ошибок, в т.ч. серверных (коей 500-я и является), а также будет полный трейсбек, где у вас ошибка случилась.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы