File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/components/bitrix/catalog.item/templates/store_v3/template.php
Back
<?php use Bitrix\Main; use Bitrix\Main\Localization\Loc; if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) { die(); } /** * @var array $arParams * @var array $arResult * @var CBitrixComponentTemplate $this * @var string $templateFolder * @var CBitrixComponent $component */ $this->setFrameMode(true); if (isset($arResult['ITEM'])) { $messages = [ 'CLOSE_BTN' => Loc::getMessage('CT_BCI_TPL_MESS_CLOSE_BTN_TITLE') ]; $item = $arResult['ITEM']; $areaId = $arResult['AREA_ID']; $itemIds = [ 'ID' => $areaId, 'NAME' => $areaId.'_name', 'POPUP' => $areaId.'_popup', 'PREBUY' => $areaId.'_prebuy', 'PICT_SLIDER' => $areaId.'_pict_slider', 'STICKER_ID' => $areaId.'_sticker', 'SECOND_STICKER_ID' => $areaId.'_secondsticker', 'QUANTITY' => $areaId.'_quantity', 'QUANTITY_COUNTER' => $areaId.'_counter', 'QUANTITY_DOWN' => $areaId.'_quant_down', 'QUANTITY_UP' => $areaId.'_quant_up', 'QUANTITY_MEASURE' => $areaId.'_quant_measure', 'QUANTITY_MEASURE_CONTAINER' => $areaId.'_quant_measure_container', 'QUANTITY_LIMIT' => $areaId.'_quant_limit', 'BUY_LINK' => $areaId.'_buy_link', 'ADD_BASKET_LINK' => $areaId.'_add_basket_link', 'BASKET_ACTIONS' => $areaId.'_basket_actions', 'NOT_AVAILABLE_MESS' => $areaId.'_not_avail', 'SUBSCRIBE_LINK' => $areaId.'_subscribe', 'COMPARE_LINK' => $areaId.'_compare_link', 'PRICE' => $areaId.'_price', 'PRICE_TWIN' => $areaId.'_price_twin', 'BLOCK_PRICE_OLD' => $areaId.'_block_price', 'BLOCK_PRICE_OLD_TWIN' => $areaId.'_block_price_twin', 'PRICE_OLD' => $areaId.'_price_old', 'PRICE_OLD_TWIN' => $areaId.'_price_old_twin', 'PRICE_DISCOUNT' => $areaId.'_price_discount', 'PRICE_DISCOUNT_TWIN' => $areaId.'_price_discount_twin', 'PRICE_TOTAL' => $areaId.'_price_total', 'PROP_DIV' => $areaId.'_sku_tree', 'PROP' => $areaId.'_prop_', 'DISPLAY_PROP_DIV' => $areaId.'_sku_prop', 'BASKET_PROP_DIV' => $areaId.'_basket_prop', ]; $itemIds['PREBUY_OPEN_BTN'] = $itemIds['PREBUY'].'_open_btn'; $itemIds['PREBUY_OVERLAY'] = $itemIds['PREBUY'].'_overlay'; $itemIds['PREBUY_CONTAINER'] = $itemIds['PREBUY'].'_container'; $itemIds['PREBUY_SWIPE_BTN'] = $itemIds['PREBUY'].'_swipe_btn'; $itemIds['PREBUY_CLOSE_BTN'] = $itemIds['PREBUY'].'_close_btn'; $itemIds['PREBUY_NAME'] = $itemIds['PREBUY'].'_name'; $itemIds['PREBUY_PICT'] = $itemIds['PREBUY'].'_pict'; $obName = 'ob'.preg_replace("/[^a-zA-Z0-9_]/", "x", $areaId); $productTitle = isset($item['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE']) && $item['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE'] != '' ? $item['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE'] : $item['NAME']; $imgTitle = isset($item['IPROPERTY_VALUES']['ELEMENT_PREVIEW_PICTURE_FILE_TITLE']) && $item['IPROPERTY_VALUES']['ELEMENT_PREVIEW_PICTURE_FILE_TITLE'] != '' ? $item['IPROPERTY_VALUES']['ELEMENT_PREVIEW_PICTURE_FILE_TITLE'] : $item['NAME']; $resizedSlider = [ 'X' => [], 'X2' => [], ]; foreach ($item['MORE_PHOTO'] as $morePhoto) { $xResizedImage = \CFile::ResizeImageGet( $morePhoto['ID'], [ 'width' => 410, 'height' => 410, ], BX_RESIZE_IMAGE_PROPORTIONAL, true ); $x2ResizedImage = \CFile::ResizeImageGet( $morePhoto['ID'], [ 'width' => 820, 'height' => 820, ], BX_RESIZE_IMAGE_PROPORTIONAL, true ); $xResizedImage['src'] = \Bitrix\Iblock\Component\Tools::getImageSrc([ 'SRC' => $xResizedImage['src'] ]); $x2ResizedImage['src'] = \Bitrix\Iblock\Component\Tools::getImageSrc([ 'SRC' => $x2ResizedImage['src'] ]); $resizedSlider['X'][] = [ 'ID' => $morePhoto['ID'], 'SRC' => $xResizedImage['src'], 'WIDTH' => $xResizedImage['width'], 'HEIGHT' => $xResizedImage['height'], ]; $resizedSlider['X2'][] = [ 'ID' => $morePhoto['ID'], 'SRC' => $x2ResizedImage['src'], 'WIDTH' => $x2ResizedImage['width'], 'HEIGHT' => $x2ResizedImage['height'], ]; } $jsParams = [ 'PRODUCT_TYPE' => $item['PRODUCT']['TYPE'], 'SHOW_QUANTITY' => $arParams['USE_PRODUCT_QUANTITY'], 'SITE_ID' => $component->getSiteId(), 'SHOW_ABSENT' => true, // are you sure 'SECOND_PICT' => $item['SECOND_PICT'], // are you sure 'SHOW_OLD_PRICE' => $arParams['SHOW_OLD_PRICE'] === 'Y', 'SHOW_MAX_QUANTITY' => 'N', // $arParams['SHOW_MAX_QUANTITY'], 'RELATIVE_QUANTITY_FACTOR' => $arParams['RELATIVE_QUANTITY_FACTOR'], 'SHOW_SKU_PROPS' => false, // overwrite later 'USE_SUBSCRIBE' => false, // from $arParams 'ADD_TO_BASKET_ACTION' => $arParams['ADD_TO_BASKET_ACTION'], // need to change string to array 'SHOW_CLOSE_POPUP' => $arParams['SHOW_CLOSE_POPUP'] === 'Y', 'DISPLAY_COMPARE' => false, // $arParams['DISPLAY_COMPARE'], 'PRODUCT_DISPLAY_MODE' => $arParams['PRODUCT_DISPLAY_MODE'], 'USE_OFFER_NAME' => $arParams['USE_OFFER_NAME'] === 'Y', 'BIG_DATA' => $item['BIG_DATA'], 'VIEW_MODE' => $arResult['TYPE'], 'TEMPLATE_THEME' => $arParams['TEMPLATE_THEME'], 'USE_ENHANCED_ECOMMERCE' => $arParams['USE_ENHANCED_ECOMMERCE'], 'DATA_LAYER_NAME' => $arParams['DATA_LAYER_NAME'], 'BRAND_PROPERTY' => (!empty($item['DISPLAY_PROPERTIES'][$arParams['BRAND_PROPERTY']]) ? $item['DISPLAY_PROPERTIES'][$arParams['BRAND_PROPERTY']]['DISPLAY_VALUE'] : null ), 'VISUAL' => [ 'ID' => $itemIds['ID'], 'NAME' => $itemIds['NAME'], 'PICT_SLIDER_ID' => $itemIds['PICT_SLIDER'], 'PRICE_ID' => $itemIds['PRICE'], 'PRICE_TWIN_ID' => $itemIds['PRICE_TWIN'], 'BUY_ID' => $itemIds['BUY_LINK'], 'ADD_BASKET_ID' => $itemIds['ADD_BASKET_LINK'], 'PREBUY' => $itemIds['PREBUY'], 'PREBUY_SWIPE_BTN' => $itemIds['PREBUY_SWIPE_BTN'], 'PREBUY_CLOSE_BTN' => $itemIds['PREBUY_CLOSE_BTN'], 'PREBUY_OPEN_BTN' => $itemIds['PREBUY_OPEN_BTN'], 'PREBUY_OVERLAY' => $itemIds['PREBUY_OVERLAY'], 'PREBUY_CONTAINER' => $itemIds['PREBUY_CONTAINER'], 'PREBUY_NAME' => $itemIds['PREBUY_NAME'], 'PREBUY_PICT' => $itemIds['PREBUY_PICT'], // two next rows need refactor 'BASKET_ACTIONS_ID' => $itemIds['BASKET_ACTIONS'], 'NOT_AVAILABLE_MESS' => $itemIds['NOT_AVAILABLE_MESS'], ], 'PRODUCT' => [ 'ID' => $item['ID'], 'NAME' => $productTitle, 'DETAIL_PAGE_URL' => $item['DETAIL_PAGE_URL'], 'MORE_PHOTO' => $item['MORE_PHOTO'], 'MORE_PHOTO_COUNT' => $item['MORE_PHOTO_COUNT'], 'RESIZED_SLIDER' => $resizedSlider, ], 'BASKET' => [ 'ADD_PROPS' => $arParams['ADD_PROPERTIES_TO_BASKET'] === 'Y', 'QUANTITY' => $arParams['PRODUCT_QUANTITY_VARIABLE'], 'PROPS' => $arParams['PRODUCT_PROPS_VARIABLE'], 'BASKET_URL' => $arParams['~BASKET_URL'], 'ADD_URL_TEMPLATE' => $arParams['~ADD_URL_TEMPLATE'], 'BUY_URL_TEMPLATE' => $arParams['~BUY_URL_TEMPLATE'], ], ]; unset($xResizedImage, $x2ResizedImage, $resizedSlider); if ($jsParams['SHOW_QUANTITY']) { $jsParams['VISUAL']['QUANTITY_ID'] = $itemIds['QUANTITY']; $jsParams['VISUAL']['QUANTITY_UP_ID'] = $itemIds['QUANTITY_UP']; $jsParams['VISUAL']['QUANTITY_COUNTER_ID'] = $itemIds['QUANTITY_COUNTER']; $jsParams['VISUAL']['QUANTITY_DOWN_ID'] = $itemIds['QUANTITY_DOWN']; $jsParams['VISUAL']['QUANTITY_MEASURE'] = $itemIds['QUANTITY_MEASURE']; $jsParams['VISUAL']['QUANTITY_MEASURE_CONTAINER'] = $itemIds['QUANTITY_MEASURE_CONTAINER']; $jsParams['VISUAL']['PRICE_TOTAL_ID'] = $itemIds['PRICE_TOTAL']; if ($jsParams['SHOW_MAX_QUANTITY'] === 'Y') { $jsParams['VISUAL']['QUANTITY_LIMIT'] = $itemIds['QUANTITY_LIMIT']; } } if ($jsParams['SHOW_OLD_PRICE']) { $jsParams['VISUAL']['BLOCK_PRICE_OLD_ID'] = $itemIds['BLOCK_PRICE_OLD']; $jsParams['VISUAL']['BLOCK_PRICE_OLD_TWIN_ID'] = $itemIds['BLOCK_PRICE_OLD_TWIN']; $jsParams['VISUAL']['PRICE_OLD_ID'] = $itemIds['PRICE_OLD']; $jsParams['VISUAL']['PRICE_OLD_TWIN_ID'] = $itemIds['PRICE_OLD_TWIN']; $jsParams['VISUAL']['PRICE_DISCOUNT_ID'] = $itemIds['PRICE_DISCOUNT']; $jsParams['VISUAL']['PRICE_DISCOUNT_TWIN_ID'] = $itemIds['PRICE_DISCOUNT_TWIN']; } if ($jsParams['DISPLAY_COMPARE']) { $jsParams['VISUAL']['COMPARE_LINK_ID'] = $itemIds['COMPARE_LINK']; } if ($jsParams['USE_SUBSCRIBE']) { $jsParams['VISUAL']['SUBSCRIBE_ID'] = $itemIds['SUBSCRIBE_LINK']; } $templateData = [ 'JS_OBJ' => $obName, 'ITEM' => [ 'ID' => $item['ID'], 'IBLOCK_ID' => $item['IBLOCK_ID'], ], ]; $documentRoot = Main\Application::getDocumentRoot(); $file = new Main\IO\File($documentRoot.$templateFolder.'/'. (isset($item['PRODUCT']['USE_OFFERS']) && $item['PRODUCT']['USE_OFFERS'] ? 'sku.php' : 'simple.php' ) ); if ($file->isExists()) { /** @noinspection PhpIncludeInspection */ include($file->getPath()); } if ($jsParams['DISPLAY_COMPARE']) { $jsParams['COMPARE'] = [ 'COMPARE_URL_TEMPLATE' => $arParams['~COMPARE_URL_TEMPLATE'], 'COMPARE_DELETE_URL_TEMPLATE' => $arParams['~COMPARE_DELETE_URL_TEMPLATE'], 'COMPARE_PATH' => $arParams['COMPARE_PATH'], ]; } if ($jsParams['BIG_DATA']) { $jsParams['PRODUCT']['RCM_ID'] = $item['RCM_ID']; } $jsParams['IS_FACEBOOK_CONVERSION_CUSTOMIZE_PRODUCT_EVENT_ENABLED'] = $arResult['IS_FACEBOOK_CONVERSION_CUSTOMIZE_PRODUCT_EVENT_ENABLED'] ; ?> <script> var <?=$obName?> = new JCCatalogItem(<?=CUtil::PhpToJSObject($jsParams, false, true)?>); </script> <?php }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.23 |
proxy
|
phpinfo
|
Settings