PageRenderTime 46ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/blocks/bitrix/store.catalog.sections_carousel/block.php

https://gitlab.com/alexprowars/bitrix
PHP | 369 lines | 359 code | 4 blank | 6 comment | 8 complexity | be6af932bacdb758549659daf2a1edb0 MD5 | raw file
  1. <?php
  2. if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
  3. {
  4. die();
  5. }
  6. /**
  7. * @var StoreCatalogSectionsCarousel $classBlock
  8. * @global \CMain $APPLICATION
  9. */
  10. $sectionId = $classBlock->get('SECTION_ID');
  11. $sectionCode = $classBlock->get('SECTION_CODE');
  12. $sectionUrl = $classBlock->get('SECTION_URL');
  13. $detailUrl = $classBlock->get('DETAIL_URL');
  14. $showElementSection = (int)$sectionId > 0 && (int)$sectionId !== (int)$classBlock->get('LANDING_SECTION_ID');
  15. // for replace in public mode
  16. if ($sectionUrl)
  17. {
  18. $sectionUrl = '#system_catalog#SECTION_CODE_PATH#/';
  19. }
  20. if ($detailUrl)
  21. {
  22. $detailUrl = '#system_catalogitem/#ELEMENT_CODE#/';
  23. }
  24. ?>
  25. <section class="landing-block g-pt-20 g-pb-20">
  26. <?php if ($classBlock->get('EDIT_MODE') || $showElementSection): ?>
  27. <div class="landing-component">
  28. <?php $APPLICATION->IncludeComponent(
  29. 'bitrix:catalog.section',
  30. 'store_v3',
  31. [
  32. 'IBLOCK_TYPE' => '',
  33. 'IBLOCK_ID' => $classBlock->get('IBLOCK_ID'),
  34. 'SECTION_ID' => $sectionId,
  35. 'SECTION_CODE' => $sectionCode,
  36. 'SECTION_USER_FIELDS' => [],
  37. 'ELEMENT_SORT_FIELD' => 'sort',
  38. 'ELEMENT_SORT_ORDER' => 'desc',
  39. 'ELEMENT_SORT_FIELD2' => '',
  40. 'ELEMENT_SORT_ORDER2' => '',
  41. 'FILTER_NAME' => $classBlock->get('FILTER_NAME'),
  42. 'INCLUDE_SUBSECTIONS' => 'Y',
  43. 'SHOW_ALL_WO_SECTION' => 'N',
  44. 'PAGE_ELEMENT_COUNT' => '6',
  45. 'LINE_ELEMENT_COUNT' => '1',
  46. 'PROPERTY_CODE' => [],
  47. 'OFFERS_FIELD_CODE' => [
  48. 0 => 'NAME'
  49. ],
  50. 'OFFERS_PROPERTY_CODE' => [],
  51. 'OFFERS_SORT_FIELD' => 'sort',
  52. 'OFFERS_SORT_ORDER' => 'desc',
  53. 'OFFERS_LIMIT' => '0',
  54. 'TEMPLATE_THEME' => 'store_v3',
  55. 'PRODUCT_DISPLAY_MODE' => 'Y',
  56. 'ADD_PICT_PROP' => 'MORE_PHOTO',
  57. 'LABEL_PROP' => [
  58. 0 => 'NEWPRODUCT',
  59. 1 => 'SALELEADER',
  60. 2 => 'SPECIALOFFER',
  61. ],
  62. 'OFFER_ADD_PICT_PROP' => 'MORE_PHOTO',
  63. 'OFFER_TREE_PROPS' => [],
  64. 'MESS_BTN_BUY' => '',
  65. 'MESS_BTN_ADD_TO_BASKET' => '',
  66. 'MESS_BTN_SUBSCRIBE' => '',
  67. 'MESS_BTN_DETAIL' => '',
  68. 'MESS_NOT_AVAILABLE' => '',
  69. 'SECTION_URL' => $sectionUrl,
  70. 'DETAIL_URL' => $detailUrl,
  71. 'HIDE_DETAIL_URL' => $classBlock->get('HIDE_DETAIL_URL'),
  72. 'SECTION_ID_VARIABLE' => 'SECTION_CODE',
  73. 'AJAX_MODE' => 'N',
  74. 'AJAX_OPTION_JUMP' => 'Y',
  75. 'AJAX_OPTION_STYLE' => 'Y',
  76. 'AJAX_OPTION_HISTORY' => 'N',
  77. 'CACHE_TYPE' => 'A',
  78. 'CACHE_TIME' => '36000000',
  79. 'CACHE_GROUPS' => 'Y',
  80. 'CACHE_FILTER' => 'Y',
  81. 'SET_META_KEYWORDS' => 'Y',
  82. 'META_KEYWORDS' => '',
  83. 'SET_META_DESCRIPTION' => 'Y',
  84. 'META_DESCRIPTION' => '',
  85. 'BROWSER_TITLE' => '-',
  86. 'ADD_SECTIONS_CHAIN' => 'N',
  87. 'SET_TITLE' => $classBlock->get('SET_TITLE'),
  88. 'ALLOW_SEO_DATA' => $classBlock->get('ALLOW_SEO_DATA'),
  89. 'SET_STATUS_404' => 'N',
  90. 'CONVERT_CURRENCY' => 'Y',
  91. 'BASKET_URL' => '#system_order',
  92. 'ACTION_VARIABLE' => $classBlock->get('ACTION_VARIABLE'),
  93. 'ACTION_COMPARE_VARIABLE' => 'compare',
  94. 'PRODUCT_ID_VARIABLE' => 'id',
  95. 'PRODUCT_QUANTITY_VARIABLE' => 'quantity',
  96. 'ADD_PROPERTIES_TO_BASKET' => 'N',
  97. 'PRODUCT_PROPS_VARIABLE' => 'prop',
  98. 'PARTIAL_PRODUCT_PROPERTIES' => 'Y',
  99. 'PRODUCT_PROPERTIES' => [],
  100. 'OFFERS_CART_PROPERTIES' => [],
  101. 'PAGER_TEMPLATE' => 'round',
  102. 'DISPLAY_TOP_PAGER' => 'N',
  103. 'DISPLAY_BOTTOM_PAGER' => 'N',
  104. 'PAGER_TITLE' => '',
  105. 'PAGER_SHOW_ALWAYS' => 'N',
  106. 'PAGER_DESC_NUMBERING' => 'N',
  107. 'PAGER_DESC_NUMBERING_CACHE_TIME' => '36000',
  108. 'PAGER_SHOW_ALL' => 'N',
  109. 'AJAX_OPTION_ADDITIONAL' => '',
  110. 'SET_BROWSER_TITLE' => 'Y',
  111. 'SHOW_CLOSE_POPUP' => 'Y',
  112. 'MESS_BTN_COMPARE' => '',
  113. 'ADD_TO_BASKET_ACTION' => 'BUY',
  114. 'COMPONENT_TEMPLATE' => 'store_v3',
  115. 'SEF_MODE' => 'N',
  116. 'SET_LAST_MODIFIED' => 'N',
  117. 'USE_MAIN_ELEMENT_SECTION' => 'N',
  118. 'PAGER_BASE_LINK_ENABLE' => 'N',
  119. 'SHOW_404' => 'N',
  120. 'MESSAGE_404' => '',
  121. 'PAGER_BASE_LINK' => '',
  122. 'PAGER_PARAMS_NAME' => 'arrPager',
  123. 'BACKGROUND_IMAGE' => 'UF_BACKGROUND_IMAGE',
  124. 'DISABLE_INIT_JS_IN_COMPONENT' => 'N',
  125. 'CUSTOM_FILTER' => '',
  126. 'SHOW_SLIDER' => 'Y',
  127. 'LABEL_PROP_MOBILE' => [
  128. 0 => 'NEWPRODUCT',
  129. 1 => 'SALELEADER',
  130. 2 => 'SPECIALOFFER',
  131. ],
  132. 'LABEL_PROP_POSITION' => 'top-left',
  133. 'DISCOUNT_PERCENT_POSITION' => 'bottom-right',
  134. 'RCM_TYPE' => 'personal',
  135. 'RCM_PROD_ID' => '',
  136. 'USE_OFFER_NAME' => 'Y',
  137. 'LAZY_LOAD' => 'Y',
  138. 'LOAD_ON_SCROLL' => $classBlock->get('EDIT_MODE') ? 'N' : 'Y',
  139. 'DEFERRED_LOAD' => 'N',
  140. 'CYCLIC_LOADING' => 'N',
  141. 'CYCLIC_LOADING_COUNTER_NAME' => 'sectionCycleCount',
  142. 'SECTIONS_OFFSET_MODE' => 'F',
  143. 'SECTIONS_SECTION_ID' => $classBlock->get('LANDING_SECTION_ID'),
  144. 'SECTIONS_FILTER_NAME' => $classBlock->get('SECTIONS_FILTER_NAME'),
  145. 'SECTIONS_ADDITIONAL_COUNT_ELEMENTS_FILTER' => $classBlock->get('FILTER_NAME'),
  146. 'SECTIONS_HIDE_SECTIONS_WITH_ZERO_COUNT_ELEMENTS' => 'Y',
  147. 'PROPERTY_CODE_MOBILE' => [
  148. 0 => 'ARTNUMBER',
  149. 1 => 'MANUFACTURER',
  150. 2 => 'MATERIAL',
  151. ],
  152. 'SLIDER_INTERVAL' => '3000',
  153. 'SLIDER_PROGRESS' => 'Y',
  154. 'MESS_BTN_LAZY_LOAD' => '',
  155. 'SHOW_MAX_QUANTITY' => 'M',
  156. 'SHOW_FROM_SECTION' => 'Y',
  157. 'COMPATIBLE_MODE' => 'N',
  158. 'COMPOSITE_FRAME_MODE' => 'A',
  159. 'COMPOSITE_FRAME_TYPE' => 'AUTO',
  160. 'COMPARE_NAME' => 'CATALOG_COMPARE_LIST',
  161. 'MESS_SHOW_MAX_QUANTITY' => '',
  162. 'RELATIVE_QUANTITY_FACTOR' => '5',
  163. 'MESS_RELATIVE_QUANTITY_MANY' => '',
  164. 'MESS_RELATIVE_QUANTITY_FEW' => '',
  165. 'USE_COMPARE_LIST' => 'N',
  166. 'STRICT_SECTION_CHECK' => 'N',
  167. 'CHECK_LANDING_PRODUCT_SECTION' => 'Y',
  168. 'PREDICT_ELEMENT_COUNT' => 'Y',
  169. 'COMPARE_PATH' => '#system_compare',
  170. 'HIDE_NOT_AVAILABLE' => $classBlock->get('HIDE_NOT_AVAILABLE'),
  171. 'HIDE_NOT_AVAILABLE_OFFERS' => $classBlock->get('HIDE_NOT_AVAILABLE_OFFERS'),
  172. 'PRODUCT_SUBSCRIPTION' => 'N',
  173. 'USE_PRODUCT_QUANTITY' => $classBlock->get('USE_PRODUCT_QUANTITY'),
  174. 'DISPLAY_COMPARE' => 'N',
  175. 'PRICE_CODE' => $classBlock->get('PRICE_CODE'),
  176. 'USE_PRICE_COUNT' => $classBlock->get('USE_PRICE_COUNT'),
  177. 'SHOW_PRICE_COUNT' => $classBlock->get('SHOW_PRICE_COUNT'),
  178. 'CURRENCY_ID' => $classBlock->get('CURRENCY_ID'),
  179. 'PRICE_VAT_INCLUDE' => $classBlock->get('PRICE_VAT_INCLUDE'),
  180. 'SHOW_OLD_PRICE' => $classBlock->get('SHOW_OLD_PRICE'),
  181. 'SHOW_DISCOUNT_PERCENT' => $classBlock->get('SHOW_DISCOUNT_PERCENT'),
  182. 'USE_ENHANCED_ECOMMERCE' => $classBlock->get('USE_ENHANCED_ECOMMERCE'),
  183. 'DATA_LAYER_NAME' => $classBlock->get('DATA_LAYER_NAME'),
  184. 'BRAND_PROPERTY' => $classBlock->get('BRAND_PROPERTY'),
  185. 'CUSTOM_SITE_ID' => $classBlock->get('SITE_ID'),
  186. 'CONTEXT_SITE_ID' => $classBlock->get('SITE_ID'),
  187. 'SECTIONS_CHAIN_START_FROM' => 1,
  188. ],
  189. false
  190. ); ?>
  191. </div>
  192. <?php endif; ?>
  193. <?php if (!$classBlock->get('EDIT_MODE')): ?>
  194. <div class="landing-component">
  195. <?php $APPLICATION->IncludeComponent(
  196. 'bitrix:catalog.section',
  197. 'store_v3',
  198. [
  199. 'IBLOCK_TYPE' => '',
  200. 'IBLOCK_ID' => $classBlock->get('IBLOCK_ID'),
  201. 'SECTION_ID' => $classBlock->get('LANDING_SECTION_ID'),
  202. 'SECTION_CODE' => '',
  203. 'SECTION_USER_FIELDS' => [],
  204. 'ELEMENT_SORT_FIELD' => 'sort',
  205. 'ELEMENT_SORT_ORDER' => 'desc',
  206. 'ELEMENT_SORT_FIELD2' => '',
  207. 'ELEMENT_SORT_ORDER2' => '',
  208. 'FILTER_NAME' => $classBlock->get('CATALOG_FILTER_NAME'),
  209. 'INCLUDE_SUBSECTIONS' => 'Y',
  210. 'SHOW_ALL_WO_SECTION' => 'Y',
  211. 'PAGE_ELEMENT_COUNT' => '6',
  212. 'LINE_ELEMENT_COUNT' => '1',
  213. 'PROPERTY_CODE' => [],
  214. 'OFFERS_FIELD_CODE' => [
  215. 0 => 'NAME'
  216. ],
  217. 'OFFERS_PROPERTY_CODE' => [],
  218. 'OFFERS_SORT_FIELD' => 'sort',
  219. 'OFFERS_SORT_ORDER' => 'desc',
  220. 'OFFERS_LIMIT' => '0',
  221. 'TEMPLATE_THEME' => 'vendor',
  222. 'PRODUCT_DISPLAY_MODE' => 'Y',
  223. 'ADD_PICT_PROP' => 'MORE_PHOTO',
  224. 'LABEL_PROP' => [
  225. 0 => 'NEWPRODUCT',
  226. 1 => 'SALELEADER',
  227. 2 => 'SPECIALOFFER',
  228. ],
  229. 'OFFER_ADD_PICT_PROP' => 'MORE_PHOTO',
  230. 'OFFER_TREE_PROPS' => [
  231. 0 => 'COLOR_REF',
  232. 1 => 'SIZES_SHOES',
  233. 2 => 'SIZES_CLOTHES',
  234. ],
  235. 'MESS_BTN_BUY' => '',
  236. 'MESS_BTN_ADD_TO_BASKET' => '',
  237. 'MESS_BTN_SUBSCRIBE' => '',
  238. 'MESS_BTN_DETAIL' => '',
  239. 'MESS_NOT_AVAILABLE' => '',
  240. 'SECTION_URL' => $sectionUrl,
  241. 'DETAIL_URL' => $detailUrl,
  242. 'HIDE_DETAIL_URL' => $classBlock->get('HIDE_DETAIL_URL'),
  243. 'SECTION_ID_VARIABLE' => 'SECTION_CODE',
  244. 'AJAX_MODE' => 'N',
  245. 'AJAX_OPTION_JUMP' => 'Y',
  246. 'AJAX_OPTION_STYLE' => 'Y',
  247. 'AJAX_OPTION_HISTORY' => 'N',
  248. 'CACHE_TYPE' => 'A',
  249. 'CACHE_TIME' => '36000000',
  250. 'CACHE_GROUPS' => 'Y',
  251. 'CACHE_FILTER' => 'Y',
  252. 'SET_META_KEYWORDS' => 'N',
  253. 'META_KEYWORDS' => '',
  254. 'SET_META_DESCRIPTION' => 'N',
  255. 'META_DESCRIPTION' => '',
  256. 'BROWSER_TITLE' => '-',
  257. 'ADD_SECTIONS_CHAIN' => 'N',
  258. 'SET_TITLE' => 'N',
  259. 'ALLOW_SEO_DATA' => 'N',
  260. 'SET_STATUS_404' => 'N',
  261. 'CONVERT_CURRENCY' => 'Y',
  262. 'BASKET_URL' => '#system_order',
  263. 'ACTION_VARIABLE' => $classBlock->get('ACTION_VARIABLE'),
  264. 'ACTION_COMPARE_VARIABLE' => 'compare',
  265. 'PRODUCT_ID_VARIABLE' => 'id',
  266. 'PRODUCT_QUANTITY_VARIABLE' => 'quantity',
  267. 'ADD_PROPERTIES_TO_BASKET' => 'N',
  268. 'PRODUCT_PROPS_VARIABLE' => 'prop',
  269. 'PARTIAL_PRODUCT_PROPERTIES' => 'Y',
  270. 'PRODUCT_PROPERTIES' => [],
  271. 'OFFERS_CART_PROPERTIES' => [],
  272. 'PAGER_TEMPLATE' => 'round',
  273. 'DISPLAY_TOP_PAGER' => 'N',
  274. 'DISPLAY_BOTTOM_PAGER' => 'N',
  275. 'PAGER_TITLE' => '',
  276. 'PAGER_SHOW_ALWAYS' => 'N',
  277. 'PAGER_DESC_NUMBERING' => 'N',
  278. 'PAGER_DESC_NUMBERING_CACHE_TIME' => '36000',
  279. 'PAGER_SHOW_ALL' => 'N',
  280. 'AJAX_OPTION_ADDITIONAL' => '',
  281. 'SET_BROWSER_TITLE' => 'N',
  282. 'SHOW_CLOSE_POPUP' => 'Y',
  283. 'MESS_BTN_COMPARE' => '',
  284. 'ADD_TO_BASKET_ACTION' => 'BUY',
  285. 'COMPONENT_TEMPLATE' => 'store_v3',
  286. 'SEF_MODE' => 'N',
  287. 'SET_LAST_MODIFIED' => 'N',
  288. 'USE_MAIN_ELEMENT_SECTION' => 'N',
  289. 'PAGER_BASE_LINK_ENABLE' => 'N',
  290. 'SHOW_404' => 'N',
  291. 'MESSAGE_404' => '',
  292. 'PAGER_BASE_LINK' => '',
  293. 'PAGER_PARAMS_NAME' => 'arrPager',
  294. 'BACKGROUND_IMAGE' => 'UF_BACKGROUND_IMAGE',
  295. 'DISABLE_INIT_JS_IN_COMPONENT' => 'N',
  296. 'CUSTOM_FILTER' => '',
  297. 'PRODUCT_BLOCKS_ORDER' => 'props,sku,price,quantity,buttons,quantityLimit,compare',
  298. //"PRODUCT_ROW_VARIANTS" => "[{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false},{'VARIANT':'3','BIG_DATA':false}]",
  299. 'SHOW_SLIDER' => 'Y',
  300. 'ENLARGE_PRODUCT' => 'STRICT',
  301. 'LABEL_PROP_MOBILE' => [
  302. 0 => 'NEWPRODUCT',
  303. 1 => 'SALELEADER',
  304. 2 => 'SPECIALOFFER',
  305. ],
  306. 'LABEL_PROP_POSITION' => 'top-left',
  307. 'DISCOUNT_PERCENT_POSITION' => 'bottom-right',
  308. 'RCM_TYPE' => 'personal',
  309. 'RCM_PROD_ID' => '',
  310. 'USE_OFFER_NAME' => 'Y',
  311. 'LAZY_LOAD' => 'Y',
  312. 'LOAD_ON_SCROLL' => 'Y',
  313. 'DEFERRED_LOAD' => $showElementSection ? 'Y' : 'N',
  314. 'CYCLIC_LOADING' => 'Y',
  315. 'CYCLIC_LOADING_COUNTER_NAME' => 'catalogCycleCount',
  316. 'SECTIONS_OFFSET_MODE' => 'F',
  317. 'SECTIONS_SECTION_ID' => $classBlock->get('LANDING_SECTION_ID'),
  318. 'SECTIONS_ADDITIONAL_COUNT_ELEMENTS_FILTER' => $classBlock->get('FILTER_NAME'),
  319. 'SECTIONS_HIDE_SECTIONS_WITH_ZERO_COUNT_ELEMENTS' => 'Y',
  320. 'PROPERTY_CODE_MOBILE' => [
  321. 0 => 'ARTNUMBER',
  322. 1 => 'MANUFACTURER',
  323. 2 => 'MATERIAL',
  324. ],
  325. 'SLIDER_INTERVAL' => '3000',
  326. 'SLIDER_PROGRESS' => 'Y',
  327. 'MESS_BTN_LAZY_LOAD' => '',
  328. 'SHOW_MAX_QUANTITY' => 'M',
  329. 'SHOW_FROM_SECTION' => 'Y',
  330. 'COMPATIBLE_MODE' => 'N',
  331. 'COMPOSITE_FRAME_MODE' => 'A',
  332. 'COMPOSITE_FRAME_TYPE' => 'AUTO',
  333. 'COMPARE_NAME' => 'CATALOG_COMPARE_LIST',
  334. 'MESS_SHOW_MAX_QUANTITY' => '',
  335. 'RELATIVE_QUANTITY_FACTOR' => '5',
  336. 'MESS_RELATIVE_QUANTITY_MANY' => '',
  337. 'MESS_RELATIVE_QUANTITY_FEW' => '',
  338. 'USE_COMPARE_LIST' => 'N',
  339. 'STRICT_SECTION_CHECK' => 'N',
  340. 'CHECK_LANDING_PRODUCT_SECTION' => 'Y',
  341. 'PREDICT_ELEMENT_COUNT' => 'Y',
  342. 'COMPARE_PATH' => '#system_compare',
  343. 'HIDE_NOT_AVAILABLE' => $classBlock->get('HIDE_NOT_AVAILABLE'),
  344. 'HIDE_NOT_AVAILABLE_OFFERS' => $classBlock->get('HIDE_NOT_AVAILABLE_OFFERS'),
  345. 'PRODUCT_SUBSCRIPTION' => 'N',
  346. 'USE_PRODUCT_QUANTITY' => $classBlock->get('USE_PRODUCT_QUANTITY'),
  347. 'DISPLAY_COMPARE' => 'N',
  348. 'PRICE_CODE' => $classBlock->get('PRICE_CODE'),
  349. 'USE_PRICE_COUNT' => $classBlock->get('USE_PRICE_COUNT'),
  350. 'SHOW_PRICE_COUNT' => $classBlock->get('SHOW_PRICE_COUNT'),
  351. 'CURRENCY_ID' => $classBlock->get('CURRENCY_ID'),
  352. 'PRICE_VAT_INCLUDE' => $classBlock->get('PRICE_VAT_INCLUDE'),
  353. 'SHOW_OLD_PRICE' => $classBlock->get('SHOW_OLD_PRICE'),
  354. 'SHOW_DISCOUNT_PERCENT' => $classBlock->get('SHOW_DISCOUNT_PERCENT'),
  355. 'USE_ENHANCED_ECOMMERCE' => $classBlock->get('USE_ENHANCED_ECOMMERCE'),
  356. 'DATA_LAYER_NAME' => $classBlock->get('DATA_LAYER_NAME'),
  357. 'BRAND_PROPERTY' => $classBlock->get('BRAND_PROPERTY'),
  358. 'CUSTOM_SITE_ID' => $classBlock->get('SITE_ID'),
  359. 'CONTEXT_SITE_ID' => $classBlock->get('SITE_ID'),
  360. ],
  361. false
  362. ); ?>
  363. </div>
  364. <?php endif; ?>
  365. </section>