Advertisement
Guest User

Untitled

a guest
Nov 20th, 2014
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 34.39 KB | None | 0 0
  1. <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
  2. /** @var array $arParams */
  3. /** @var array $arResult */
  4. /** @global CMain $APPLICATION */
  5. /** @global CUser $USER */
  6. /** @global CDatabase $DB */
  7. /** @var CBitrixComponentTemplate $this */
  8. /** @var string $templateName */
  9. /** @var string $templateFile */
  10. /** @var string $templateFolder */
  11. /** @var string $componentPath */
  12. /** @var CBitrixComponent $component */
  13. $this->setFrameMode(true);
  14. if ($USER->IsAdmin() && (mb_strtoupper($_REQUEST["bitrix_include_areas"]) =="Y"))  echo __FILE__;
  15. if (!empty($arResult['ITEMS']))
  16. {
  17.     $templateData = array(
  18.         'TEMPLATE_THEME' => $this->GetFolder().'/themes/'.$arParams['TEMPLATE_THEME'].'/style.css',
  19.         'TEMPLATE_CLASS' => 'bx_'.$arParams['TEMPLATE_THEME'],
  20.         'TEMPLATE_LIBRARY' => array('popup', 'currency'),
  21.         'CURRENCIES' => CUtil::PhpToJSObject($arResult['CURRENCIES'], false, true, true)
  22.     );
  23.  
  24.     $arSkuTemplate = array();
  25.     if (!empty($arResult['SKU_PROPS']))
  26.     {
  27.         foreach ($arResult['SKU_PROPS'] as &$arProp)
  28.         {
  29.             $templateRow = '';
  30.             if ('TEXT' == $arProp['SHOW_MODE'])
  31.             {
  32.                 if (5 < $arProp['VALUES_COUNT'])
  33.                 {
  34.                     $strClass = 'bx_item_detail_size full';
  35.                     $strWidth = ($arProp['VALUES_COUNT']*20).'%';
  36.                     $strOneWidth = (100/$arProp['VALUES_COUNT']).'%';
  37.                     $strSlideStyle = '';
  38.                 }
  39.                 else
  40.                 {
  41.                     $strClass = 'bx_item_detail_size';
  42.                     $strWidth = '100%';
  43.                     $strOneWidth = '20%';
  44.                     $strSlideStyle = 'display: none;';
  45.                 }
  46.                 $templateRow .= '<div class="'.$strClass.'" id="#ITEM#_prop_'.$arProp['ID'].'_cont">'.
  47.                     '<span class="bx_item_section_name_gray">'.htmlspecialcharsex($arProp['NAME']).'</span>'.
  48.                     '<div class="bx_size_scroller_container"><div class="bx_size"><ul id="#ITEM#_prop_'.$arProp['ID'].'_list" style="width: '.$strWidth.';">';
  49.                 foreach ($arProp['VALUES'] as $arOneValue)
  50.                 {
  51.                     $arOneValue['NAME'] = htmlspecialcharsbx($arOneValue['NAME']);
  52.                     $templateRow .= '<li data-treevalue="'.$arProp['ID'].'_'.$arOneValue['ID'].'" data-onevalue="'.$arOneValue['ID'].'" style="width: '.$strOneWidth.';" title="'.$arOneValue['NAME'].'"><i></i><span class="cnt">'.$arOneValue['NAME'].'</span></li>';
  53.                 }
  54.                 $templateRow .= '</ul></div>'.
  55.                     '<div class="bx_slide_left" id="#ITEM#_prop_'.$arProp['ID'].'_left" data-treevalue="'.$arProp['ID'].'" style="'.$strSlideStyle.'"></div>'.
  56.                     '<div class="bx_slide_right" id="#ITEM#_prop_'.$arProp['ID'].'_right" data-treevalue="'.$arProp['ID'].'" style="'.$strSlideStyle.'"></div>'.
  57.                     '</div></div>';
  58.             }
  59.             elseif ('PICT' == $arProp['SHOW_MODE'])
  60.             {
  61.                 if (5 < $arProp['VALUES_COUNT'])
  62.                 {
  63.                     $strClass = 'bx_item_detail_scu full';
  64.                     $strWidth = ($arProp['VALUES_COUNT']*20).'%';
  65.                     $strOneWidth = (100/$arProp['VALUES_COUNT']).'%';
  66.                     $strSlideStyle = '';
  67.                 }
  68.                 else
  69.                 {
  70.                     $strClass = 'bx_item_detail_scu';
  71.                     $strWidth = '100%';
  72.                     $strOneWidth = '20%';
  73.                     $strSlideStyle = 'display: none;';
  74.                 }
  75.                 $templateRow .= '<div class="'.$strClass.'" id="#ITEM#_prop_'.$arProp['ID'].'_cont">'.
  76.                     '<span class="bx_item_section_name_gray">'.htmlspecialcharsex($arProp['NAME']).'</span>'.
  77.                     '<div class="bx_scu_scroller_container"><div class="bx_scu"><ul id="#ITEM#_prop_'.$arProp['ID'].'_list" style="width: '.$strWidth.';">';
  78.                 foreach ($arProp['VALUES'] as $arOneValue)
  79.                 {
  80.                     $arOneValue['NAME'] = htmlspecialcharsbx($arOneValue['NAME']);
  81.                     $templateRow .= '<li data-treevalue="'.$arProp['ID'].'_'.$arOneValue['ID'].'" data-onevalue="'.$arOneValue['ID'].'" style="width: '.$strOneWidth.'; padding-top: '.$strOneWidth.';"><i title="'.$arOneValue['NAME'].'"></i>'.
  82.                         '<span class="cnt"><span class="cnt_item" style="background-image:url(\''.$arOneValue['PICT']['SRC'].'\');" title="'.$arOneValue['NAME'].'"></span></span></li>';
  83.                 }
  84.                 $templateRow .= '</ul></div>'.
  85.                     '<div class="bx_slide_left" id="#ITEM#_prop_'.$arProp['ID'].'_left" data-treevalue="'.$arProp['ID'].'" style="'.$strSlideStyle.'"></div>'.
  86.                     '<div class="bx_slide_right" id="#ITEM#_prop_'.$arProp['ID'].'_right" data-treevalue="'.$arProp['ID'].'" style="'.$strSlideStyle.'"></div>'.
  87.                     '</div></div>';
  88.             }
  89.             $arSkuTemplate[$arProp['CODE']] = $templateRow;
  90.         }
  91.         unset($templateRow, $arProp);
  92.     }
  93.  
  94.     if ($arParams["DISPLAY_TOP_PAGER"])
  95.     {
  96.         ?><? echo $arResult["NAV_STRING"]; ?><?
  97.     }
  98.  
  99.     $strElementEdit = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT");
  100.     $strElementDelete = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE");
  101.     $arElementDeleteParams = array("CONFIRM" => GetMessage('CT_BCS_TPL_ELEMENT_DELETE_CONFIRM'));
  102.     $rowLenght=3;
  103.     $currentIndex=0;
  104.     $itemsCount=count($arResult['ITEMS']);
  105.  
  106.     foreach ($arResult['ITEMS'] as $key => $arItem)
  107.     {
  108.         $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], $strElementEdit);
  109.         $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], $strElementDelete, $arElementDeleteParams);
  110.         $strMainID = $this->GetEditAreaId($arItem['ID']);
  111.  
  112.         $arItemIDs = array(
  113.             'ID' => $strMainID,
  114.             'PICT' => $strMainID.'_pict',
  115.             'SECOND_PICT' => $strMainID.'_secondpict',
  116.             'STICKER_ID' => $strMainID.'_sticker',
  117.             'SECOND_STICKER_ID' => $strMainID.'_secondsticker',
  118.             'QUANTITY' => $strMainID.'_quantity',
  119.             'QUANTITY_DOWN' => $strMainID.'_quant_down',
  120.             'QUANTITY_UP' => $strMainID.'_quant_up',
  121.             'QUANTITY_MEASURE' => $strMainID.'_quant_measure',
  122.             'BUY_LINK' => $strMainID.'_buy_link',
  123.             'BASKET_ACTIONS' => $strMainID.'_basket_actions',
  124.             'NOT_AVAILABLE_MESS' => $strMainID.'_not_avail',
  125.             'SUBSCRIBE_LINK' => $strMainID.'_subscribe',
  126.             'COMPARE_LINK' => $strMainID.'_compare_link',
  127.  
  128.             'PRICE' => $strMainID.'_price',
  129.             'DSC_PERC' => $strMainID.'_dsc_perc',
  130.             'SECOND_DSC_PERC' => $strMainID.'_second_dsc_perc',
  131.             'PROP_DIV' => $strMainID.'_sku_tree',
  132.             'PROP' => $strMainID.'_prop_',
  133.             'DISPLAY_PROP_DIV' => $strMainID.'_sku_prop',
  134.             'BASKET_PROP_DIV' => $strMainID.'_basket_prop',
  135.         );
  136.  
  137.         $strObName = 'ob'.preg_replace("/[^a-zA-Z0-9_]/", "x", $strMainID);
  138.  
  139.         $productTitle = (
  140.         isset($arItem['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE'])&& $arItem['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE'] != ''
  141.             ? $arItem['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE']
  142.             : $arItem['NAME']
  143.         );
  144.         $imgTitle = (
  145.         isset($arItem['IPROPERTY_VALUES']['ELEMENT_PREVIEW_PICTURE_FILE_TITLE']) && $arItem['IPROPERTY_VALUES']['ELEMENT_PREVIEW_PICTURE_FILE_TITLE'] != ''
  146.             ? $arItem['IPROPERTY_VALUES']['ELEMENT_PREVIEW_PICTURE_FILE_TITLE']
  147.             : $arItem['NAME']
  148.         );?>
  149.         <div class="<? echo ($arItem['SECOND_PICT'] ? 'bx_catalog_item double' : 'bx_catalog_item'); ?>">
  150.         <div class="bx_catalog_item_container" id="<? echo $strMainID; ?>">
  151.         <a id="<? echo $arItemIDs['PICT']; ?>" href="<? echo $arItem['DETAIL_PAGE_URL']; ?>" class="bx_catalog_item_images" style="background-image: url('<? echo $arItem['PREVIEW_PICTURE']['SRC']; ?>')" title="<? echo $imgTitle; ?>"><?
  152.             if ('Y' == $arParams['SHOW_DISCOUNT_PERCENT']) { ?>
  153.                 <div id="<? echo $arItemIDs['DSC_PERC']; ?>" class="bx_stick_disc right bottom" style="display:<? echo (0 < $arItem['MIN_PRICE']['DISCOUNT_DIFF_PERCENT'] ? '' : 'none'); ?>;">-<? echo $arItem['MIN_PRICE']['DISCOUNT_DIFF_PERCENT']; ?>%</div> <?
  154.             }
  155.             if ($arItem['LABEL']) {?>
  156.                 <div id="<? echo $arItemIDs['STICKER_ID']; ?>" class="bx_stick average left top" title="<? echo $arItem['LABEL_VALUE']; ?>"><? echo $arItem['LABEL_VALUE']; ?></div> <?
  157.             }?>
  158.         </a><?
  159.         if ($arItem['SECOND_PICT']){ ?>
  160.             <a id="<? echo $arItemIDs['SECOND_PICT']; ?>"
  161.                href="<? echo $arItem['DETAIL_PAGE_URL']; ?>"
  162.                class="bx_catalog_item_images_double"
  163.                style="background-image: url('<? echo (!empty($arItem['PREVIEW_PICTURE_SECOND']) ? $arItem['PREVIEW_PICTURE_SECOND']['SRC'] : $arItem['PREVIEW_PICTURE']['SRC']); ?>');"
  164.                title="<? echo $imgTitle; ?>"><?
  165.             if ('Y' == $arParams['SHOW_DISCOUNT_PERCENT']){?>
  166.                 <div id="<? echo $arItemIDs['SECOND_DSC_PERC']; ?>" class="bx_stick_disc right bottom" style="display:<? echo (0 < $arItem['MIN_PRICE']['DISCOUNT_DIFF_PERCENT'] ? '' : 'none'); ?>;">-<? echo $arItem['MIN_PRICE']['DISCOUNT_DIFF_PERCENT']; ?>%</div><?
  167.             }
  168.             if ($arItem['LABEL']){ ?>
  169.                 <div id="<? echo $arItemIDs['SECOND_STICKER_ID']; ?>" class="bx_stick average left top" title="<? echo $arItem['LABEL_VALUE']; ?>"><? echo $arItem['LABEL_VALUE']; ?></div><?
  170.             } ?>
  171.             </a><?
  172.         }?>
  173.         <div class="bx_catalog_item_title">
  174.             <a href="<? echo $arItem['DETAIL_PAGE_URL']; ?>" title="<? echo $productTitle; ?>"><? echo $productTitle; ?></a>
  175.         </div>
  176.         <div class="bx_catalog_item_price">
  177.             <div id="<? echo $arItemIDs['PRICE']; ?>" class="bx_price"><?
  178.             if (!empty($arItem['MIN_PRICE'])){
  179.                 if ('N' == $arParams['PRODUCT_DISPLAY_MODE'] && isset($arItem['OFFERS']) && !empty($arItem['OFFERS'])){
  180.                     echo GetMessage('CT_BCS_TPL_MESS_PRICE_SIMPLE_MODE',
  181.                         array('#PRICE#' => $arItem['MIN_PRICE']['PRINT_DISCOUNT_VALUE'],
  182.                                 '#MEASURE#' => GetMessage('CT_BCS_TPL_MESS_MEASURE_SIMPLE_MODE',
  183.                                 array('#VALUE#' => $arItem['MIN_PRICE']['CATALOG_MEASURE_RATIO'],
  184.                                     '#UNIT#' => $arItem['MIN_PRICE']['CATALOG_MEASURE_NAME'])
  185.                                 )
  186.                             )
  187.                     );
  188.                 }
  189.                 else {
  190.                     echo $arItem['MIN_PRICE']['PRINT_DISCOUNT_VALUE'];
  191.                 }
  192.                 if ('Y' == $arParams['SHOW_OLD_PRICE'] && $arItem['MIN_PRICE']['DISCOUNT_VALUE'] < $arItem['MIN_PRICE']['VALUE']) {?>
  193.                     <span><? echo $arItem['MIN_PRICE']['PRINT_VALUE']; ?></span><?
  194.                 }
  195.             }?>
  196.             </div>
  197.         </div><?
  198.         $showSubscribeBtn = false;
  199.         $compareBtnMessage = ($arParams['MESS_BTN_COMPARE'] != '' ? $arParams['MESS_BTN_COMPARE'] : GetMessage('CT_BCS_TPL_MESS_BTN_COMPARE'));
  200.         if (!isset($arItem['OFFERS']) || empty($arItem['OFFERS'])) { ?>
  201.             <div class="bx_catalog_item_controls"><?
  202.                 if ($arItem['CAN_BUY']){
  203.                     if ('Y' == $arParams['USE_PRODUCT_QUANTITY']) { ?>
  204.                         <div class="bx_catalog_item_controls_blockone">
  205.                             <div style="display: inline-block;position: relative;">
  206.                                 <a id="<? echo $arItemIDs['QUANTITY_DOWN']; ?>" href="javascript:void(0)" class="bx_bt_button_type_2 bx_small" rel="nofollow">-</a>
  207.                                 <input type="text" class="bx_col_input" id="<? echo $arItemIDs['QUANTITY']; ?>" name="<? echo $arParams["PRODUCT_QUANTITY_VARIABLE"]; ?>" value="<? echo $arItem['CATALOG_MEASURE_RATIO']; ?>">
  208.                                 <a id="<? echo $arItemIDs['QUANTITY_UP']; ?>" href="javascript:void(0)" class="bx_bt_button_type_2 bx_small" rel="nofollow">+</a>
  209.                                 <span id="<? echo $arItemIDs['QUANTITY_MEASURE']; ?>"><? echo $arItem['CATALOG_MEASURE_NAME']; ?></span>
  210.                             </div>
  211.                         </div><?
  212.                     } ?>
  213.                     <div id="<? echo $arItemIDs['BASKET_ACTIONS']; ?>" class="bx_catalog_item_controls_blocktwo">
  214.                         <a id="<? echo $arItemIDs['BUY_LINK']; ?>" class="bx_bt_button bx_medium" href="javascript:void(0)" rel="nofollow"><?
  215.                             if ($arParams['ADD_TO_BASKET_ACTION'] == 'BUY'){
  216.                                 echo ('' != $arParams['MESS_BTN_BUY'] ? $arParams['MESS_BTN_BUY'] : GetMessage('CT_BCS_TPL_MESS_BTN_BUY'));
  217.                             }
  218.                             else{
  219.                                 echo ('' != $arParams['MESS_BTN_ADD_TO_BASKET'] ? $arParams['MESS_BTN_ADD_TO_BASKET'] : GetMessage('CT_BCS_TPL_MESS_BTN_ADD_TO_BASKET'));
  220.                             }?>
  221.                         </a>
  222.                     </div><?
  223.                     if ($arParams['DISPLAY_COMPARE']){ ?>
  224.                         <div class="bx_catalog_item_controls_blocktwo">
  225.                             <a id="<? echo $arItemIDs['COMPARE_LINK']; ?>" class="bx_bt_button_type_2 bx_medium" href="javascript:void(0)"><? echo $compareBtnMessage; ?></a>
  226.                         </div><?
  227.                     }
  228.                 }
  229.                 else { ?>
  230.                     <div id="<? echo $arItemIDs['NOT_AVAILABLE_MESS']; ?>" class="bx_catalog_item_controls_blockone">
  231.                         <span class="bx_notavailable"><?
  232.                         echo ('' != $arParams['MESS_NOT_AVAILABLE'] ? $arParams['MESS_NOT_AVAILABLE'] : GetMessage('CT_BCS_TPL_MESS_PRODUCT_NOT_AVAILABLE'));?>
  233.                         </span>
  234.                     </div><?
  235.                     if ($arParams['DISPLAY_COMPARE'] || $showSubscribeBtn) { ?>
  236.                         <div class="bx_catalog_item_controls_blocktwo"><?
  237.                             if ($arParams['DISPLAY_COMPARE']) { ?>
  238.                                 <a id="<? echo $arItemIDs['COMPARE_LINK']; ?>"
  239.                                    class="bx_bt_button_type_2 bx_medium" href="javascript:void(0)"><? echo $compareBtnMessage; ?></a><?
  240.                             }
  241.                             if ($showSubscribeBtn) { ?>
  242.                                 <a id="<? echo $arItemIDs['SUBSCRIBE_LINK']; ?>" class="bx_bt_button_type_2 bx_medium" href="javascript:void(0)"><?
  243.                                 echo ('' != $arParams['MESS_BTN_SUBSCRIBE'] ? $arParams['MESS_BTN_SUBSCRIBE'] : GetMessage('CT_BCS_TPL_MESS_BTN_SUBSCRIBE'));
  244.                                 ?></a><?
  245.                             } ?>
  246.                         </div><?
  247.                     }
  248.                 }?>
  249.                 <div style="clear: both;"></div>
  250.             </div><?
  251.             if (isset($arItem['DISPLAY_PROPERTIES']) && !empty($arItem['DISPLAY_PROPERTIES'])) { ?>
  252.                 <div class="bx_catalog_item_articul"> <?
  253.                     foreach ($arItem['DISPLAY_PROPERTIES'] as $arOneProp) { ?>
  254.                         <br><strong><? echo $arOneProp['NAME']; ?></strong> <?
  255.                         echo ( is_array($arOneProp['DISPLAY_VALUE']) ? implode('<br>', $arOneProp['DISPLAY_VALUE']) : $arOneProp['DISPLAY_VALUE'] );
  256.                     }?>
  257.                 </div><?
  258.             }
  259.             $emptyProductProperties = empty($arItem['PRODUCT_PROPERTIES']);
  260.             if ('Y' == $arParams['ADD_PROPERTIES_TO_BASKET'] && !$emptyProductProperties) { ?>
  261.                 <div id="<? echo $arItemIDs['BASKET_PROP_DIV']; ?>" style="display: none;"> <?
  262.                     if (!empty($arItem['PRODUCT_PROPERTIES_FILL'])) {
  263.                         foreach ($arItem['PRODUCT_PROPERTIES_FILL'] as $propID => $propInfo){ ?>
  264.                             <input type="hidden"
  265.                                    name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]"
  266.                                    value="<? echo htmlspecialcharsbx($propInfo['ID']); ?>"> <?
  267.                             if (isset($arItem['PRODUCT_PROPERTIES'][$propID])) unset($arItem['PRODUCT_PROPERTIES'][$propID]);
  268.                         }
  269.                     }
  270.                     $emptyProductProperties = empty($arItem['PRODUCT_PROPERTIES']);
  271.                     if (!$emptyProductProperties) { ?>
  272.                         <table> <?
  273.                             foreach ($arItem['PRODUCT_PROPERTIES'] as $propID => $propInfo) {?>
  274.                                 <tr>
  275.                                     <td><? echo $arItem['PROPERTIES'][$propID]['NAME']; ?></td>
  276.                                     <td><?
  277.                                         if('L' == $arItem['PROPERTIES'][$propID]['PROPERTY_TYPE'] && 'C' == $arItem['PROPERTIES'][$propID]['LIST_TYPE']) {
  278.                                             foreach($propInfo['VALUES'] as $valueID => $value) { ?>
  279.                                                 <label>
  280.                                                     <input type="radio"
  281.                                                            name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]"
  282.                                                            value="<? echo $valueID; ?>" <? echo ($valueID == $propInfo['SELECTED'] ? '"checked"' : ''); ?>>
  283.                                                     <? echo $value; ?>
  284.                                                 </label><br><?
  285.                                             }
  286.                                         }
  287.                                         else { ?>
  288.                                             <select name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]"><?
  289.                                                 foreach($propInfo['VALUES'] as $valueID => $value) { ?>
  290.                                                     <option value="<? echo $valueID; ?>" <? echo ($valueID == $propInfo['SELECTED'] ? 'selected' : ''); ?>><? echo $value; ?></option><?
  291.                                                 } ?>
  292.                                             </select><?
  293.                                         } ?>
  294.                                     </td>
  295.                                 </tr><?
  296.                             }?>
  297.                         </table> <?
  298.                     } ?>
  299.                 </div> <?
  300.             }
  301.  
  302.             $arJSParams = array(
  303.                 'PRODUCT_TYPE' => $arItem['CATALOG_TYPE'],
  304.                 'SHOW_QUANTITY' => ($arParams['USE_PRODUCT_QUANTITY'] == 'Y'),
  305.                 'SHOW_ADD_BASKET_BTN' => false,
  306.                 'SHOW_BUY_BTN' => true,
  307.                 'SHOW_ABSENT' => true,
  308.                 'ADD_TO_BASKET_ACTION' => $arParams['ADD_TO_BASKET_ACTION'],
  309.                 'SHOW_CLOSE_POPUP' => ($arParams['SHOW_CLOSE_POPUP'] == 'Y'),
  310.                 'DISPLAY_COMPARE' => $arParams['DISPLAY_COMPARE'],
  311.                 'PRODUCT' => array(
  312.                     'ID' => $arItem['ID'],
  313.                     'NAME' => $productTitle,
  314.                     'PICT' => ('Y' == $arItem['SECOND_PICT'] ? $arItem['PREVIEW_PICTURE_SECOND'] : $arItem['PREVIEW_PICTURE']),
  315.                     'CAN_BUY' => $arItem["CAN_BUY"],
  316.                     'SUBSCRIPTION' => ('Y' == $arItem['CATALOG_SUBSCRIPTION']),
  317.                     'CHECK_QUANTITY' => $arItem['CHECK_QUANTITY'],
  318.                     'MAX_QUANTITY' => $arItem['CATALOG_QUANTITY'],
  319.                     'STEP_QUANTITY' => $arItem['CATALOG_MEASURE_RATIO'],
  320.                     'QUANTITY_FLOAT' => is_double($arItem['CATALOG_MEASURE_RATIO']),
  321.                     'SUBSCRIBE_URL' => $arItem['~SUBSCRIBE_URL'],
  322.                     'BASIS_PRICE' => $arItem['MIN_BASIS_PRICE']
  323.                 ),
  324.                 'BASKET' => array(
  325.                     'ADD_PROPS' => ('Y' == $arParams['ADD_PROPERTIES_TO_BASKET']),
  326.                     'QUANTITY' => $arParams['PRODUCT_QUANTITY_VARIABLE'],
  327.                     'PROPS' => $arParams['PRODUCT_PROPS_VARIABLE'],
  328.                     'EMPTY_PROPS' => $emptyProductProperties,
  329.                     'ADD_URL_TEMPLATE' => $arResult['~ADD_URL_TEMPLATE'],
  330.                     'BUY_URL_TEMPLATE' => $arResult['~BUY_URL_TEMPLATE']
  331.                 ),
  332.                 'VISUAL' => array(
  333.                     'ID' => $arItemIDs['ID'],
  334.                     'PICT_ID' => ('Y' == $arItem['SECOND_PICT'] ? $arItemIDs['SECOND_PICT'] : $arItemIDs['PICT']),
  335.                     'QUANTITY_ID' => $arItemIDs['QUANTITY'],
  336.                     'QUANTITY_UP_ID' => $arItemIDs['QUANTITY_UP'],
  337.                     'QUANTITY_DOWN_ID' => $arItemIDs['QUANTITY_DOWN'],
  338.                     'PRICE_ID' => $arItemIDs['PRICE'],
  339.                     'BUY_ID' => $arItemIDs['BUY_LINK'],
  340.                     'BASKET_PROP_DIV' => $arItemIDs['BASKET_PROP_DIV'],
  341.                     'BASKET_ACTIONS_ID' => $arItemIDs['BASKET_ACTIONS'],
  342.                     'NOT_AVAILABLE_MESS' => $arItemIDs['NOT_AVAILABLE_MESS'],
  343.                     'COMPARE_LINK_ID' => $arItemIDs['COMPARE_LINK']
  344.                 ),
  345.                 'LAST_ELEMENT' => $arItem['LAST_ELEMENT']
  346.             );
  347.             if ($arParams['DISPLAY_COMPARE'])
  348.             {
  349.                 $arJSParams['COMPARE'] = array(
  350.                     'COMPARE_URL_TEMPLATE' => $arResult['~COMPARE_URL_TEMPLATE'],
  351.                     'COMPARE_PATH' => $arParams['COMPARE_PATH']
  352.                 );
  353.             }
  354.             unset($emptyProductProperties);
  355.             ?><script type="text/javascript">
  356.             var <? echo $strObName; ?> = new JCCatalogSection(<? echo CUtil::PhpToJSObject($arJSParams, false, true); ?>);
  357.             </script><?
  358.         }
  359.         else {
  360.             if ('Y' == $arParams['PRODUCT_DISPLAY_MODE']) {
  361.                 $canBuy = $arItem['JS_OFFERS'][$arItem['OFFERS_SELECTED']]['CAN_BUY'];?>
  362.                 <div class="bx_catalog_item_controls no_touch"><?
  363.                     if ('Y' == $arParams['USE_PRODUCT_QUANTITY']) { ?>
  364.                         <div class="bx_catalog_item_controls_blockone">
  365.                             <a id="<? echo $arItemIDs['QUANTITY_DOWN']; ?>" href="javascript:void(0)" class="bx_bt_button_type_2 bx_small" rel="nofollow">-</a>
  366.                             <input type="text" class="bx_col_input" id="<? echo $arItemIDs['QUANTITY']; ?>" name="<? echo $arParams["PRODUCT_QUANTITY_VARIABLE"]; ?>" value="<? echo $arItem['CATALOG_MEASURE_RATIO']; ?>">
  367.                             <a id="<? echo $arItemIDs['QUANTITY_UP']; ?>" href="javascript:void(0)" class="bx_bt_button_type_2 bx_small" rel="nofollow">+</a>
  368.                             <span id="<? echo $arItemIDs['QUANTITY_MEASURE']; ?>"></span>
  369.                         </div> <?
  370.                     } ?>
  371.                     <div id="<? echo $arItemIDs['NOT_AVAILABLE_MESS']; ?>"  class="bx_catalog_item_controls_blockone" style="display: <? echo ($canBuy ? 'none' : ''); ?>;">
  372.                         <span class="bx_notavailable">
  373.                             <?echo ('' != $arParams['MESS_NOT_AVAILABLE'] ? $arParams['MESS_NOT_AVAILABLE'] : GetMessage('CT_BCS_TPL_MESS_PRODUCT_NOT_AVAILABLE'));?>
  374.                         </span>
  375.                     </div>
  376.                     <div id="<? echo $arItemIDs['BASKET_ACTIONS']; ?>" class="bx_catalog_item_controls_blocktwo" style="display: <? echo ($canBuy ? '' : 'none'); ?>;">
  377.                         <a id="<? echo $arItemIDs['BUY_LINK']; ?>" class="bx_bt_button bx_medium" href="javascript:void(0)" rel="nofollow"><?
  378.                             if ($arParams['ADD_TO_BASKET_ACTION'] == 'BUY') {
  379.                                 echo ('' != $arParams['MESS_BTN_BUY'] ? $arParams['MESS_BTN_BUY'] : GetMessage('CT_BCS_TPL_MESS_BTN_BUY'));
  380.                             }
  381.                             else {
  382.                                 echo ('' != $arParams['MESS_BTN_ADD_TO_BASKET'] ? $arParams['MESS_BTN_ADD_TO_BASKET'] : GetMessage('CT_BCS_TPL_MESS_BTN_ADD_TO_BASKET'));
  383.                             }?>
  384.                         </a>
  385.                     </div> <?
  386.                     if ($arParams['DISPLAY_COMPARE']) { ?>
  387.                         <div class="bx_catalog_item_controls_blocktwo">
  388.                         <a id="<? echo $arItemIDs['COMPARE_LINK']; ?>" class="bx_bt_button_type_2 bx_medium" href="javascript:void(0)"><? echo $compareBtnMessage; ?></a>
  389.                         </div><?
  390.                     }?>
  391.                     <div style="clear: both;"></div>
  392.                 </div> <?
  393.                 unset($canBuy);
  394.             }
  395.             else { ?>
  396.                 <div class="bx_catalog_item_controls no_touch">
  397.                     <a class="bx_bt_button_type_2 bx_medium" href="<? echo $arItem['DETAIL_PAGE_URL']; ?>"><?
  398.                         echo ('' != $arParams['MESS_BTN_DETAIL'] ? $arParams['MESS_BTN_DETAIL'] : GetMessage('CT_BCS_TPL_MESS_BTN_DETAIL'));
  399.                         ?></a>
  400.                 </div> <?
  401.             }?>
  402.             <div class="bx_catalog_item_controls touch">
  403.                 <a class="bx_bt_button_type_2 bx_medium" href="<? echo $arItem['DETAIL_PAGE_URL']; ?>">
  404.                     <?echo ('' != $arParams['MESS_BTN_DETAIL'] ? $arParams['MESS_BTN_DETAIL'] : GetMessage('CT_BCS_TPL_MESS_BTN_DETAIL'));?>
  405.                 </a>
  406.             </div> <?
  407.             $boolShowOfferProps = ('Y' == $arParams['PRODUCT_DISPLAY_MODE'] && $arItem['OFFERS_PROPS_DISPLAY']);
  408.             $boolShowProductProps = (isset($arItem['DISPLAY_PROPERTIES']) && !empty($arItem['DISPLAY_PROPERTIES']));
  409.             if ($boolShowProductProps || $boolShowOfferProps) { ?>
  410.                 <div class="bx_catalog_item_articul"> <?
  411.                     if ($boolShowProductProps) {
  412.                         foreach ($arItem['DISPLAY_PROPERTIES'] as $arOneProp) { ?>
  413.                             <br><strong><? echo $arOneProp['NAME']; ?></strong>
  414.                             <?echo ( is_array($arOneProp['DISPLAY_VALUE']) ? implode(' / ', $arOneProp['DISPLAY_VALUE']) : $arOneProp['DISPLAY_VALUE'] );
  415.                         }
  416.                     }
  417.                     if ($boolShowOfferProps) { ?>
  418.                         <span id="<? echo $arItemIDs['DISPLAY_PROP_DIV']; ?>" style="display: none;"></span> <?
  419.                     } ?>
  420.                 </div> <?
  421.             }
  422.             if ('Y' == $arParams['PRODUCT_DISPLAY_MODE']) {
  423.                 if (!empty($arItem['OFFERS_PROP'])) {
  424.                     $arSkuProps = array(); ?>
  425.                     <div class="bx_catalog_item_scu" id="<? echo $arItemIDs['PROP_DIV']; ?>"><?
  426.                         foreach ($arSkuTemplate as $code => $strTemplate) {
  427.                             if (!isset($arItem['OFFERS_PROP'][$code]))
  428.                                 continue;
  429.                             echo '<div>', str_replace('#ITEM#_prop_', $arItemIDs['PROP'], $strTemplate), '</div>';
  430.                         }
  431.                         foreach ($arResult['SKU_PROPS'] as $arOneProp) {
  432.                             if (!isset($arItem['OFFERS_PROP'][$arOneProp['CODE']]))
  433.                                 continue;
  434.                             $arSkuProps[] = array( 'ID' => $arOneProp['ID'], 'SHOW_MODE' => $arOneProp['SHOW_MODE'],'VALUES_COUNT' => $arOneProp['VALUES_COUNT']);
  435.                         }
  436.                         foreach ($arItem['JS_OFFERS'] as &$arOneJs) {
  437.                             if (0 < $arOneJs['PRICE']['DISCOUNT_DIFF_PERCENT']) {
  438.                                 $arOneJs['PRICE']['DISCOUNT_DIFF_PERCENT'] = '-'.$arOneJs['PRICE']['DISCOUNT_DIFF_PERCENT'].'%';
  439.                                 $arOneJs['BASIS_PRICE']['DISCOUNT_DIFF_PERCENT'] = '-'.$arOneJs['BASIS_PRICE']['DISCOUNT_DIFF_PERCENT'].'%';
  440.                             }
  441.                         }
  442.                         unset($arOneJs);?>
  443.                     </div><?
  444.                     if ($arItem['OFFERS_PROPS_DISPLAY']) {
  445.                         foreach ($arItem['JS_OFFERS'] as $keyOffer => $arJSOffer) {
  446.                             $strProps = '';
  447.                             if (!empty($arJSOffer['DISPLAY_PROPERTIES'])) {
  448.                                 foreach ($arJSOffer['DISPLAY_PROPERTIES'] as $arOneProp) {
  449.                                     $strProps .= '<br>'.$arOneProp['NAME'].' <strong>'.( is_array($arOneProp['VALUE']) ? implode(' / ', $arOneProp['VALUE']) : $arOneProp['VALUE']).'</strong>';
  450.                                 }
  451.                             }
  452.                             $arItem['JS_OFFERS'][$keyOffer]['DISPLAY_PROPERTIES'] = $strProps;
  453.                         }
  454.                     }
  455.                     $arJSParams = array(
  456.                         'PRODUCT_TYPE' => $arItem['CATALOG_TYPE'],
  457.                         'SHOW_QUANTITY' => ($arParams['USE_PRODUCT_QUANTITY'] == 'Y'),
  458.                         'SHOW_ADD_BASKET_BTN' => false,
  459.                         'SHOW_BUY_BTN' => true,
  460.                         'SHOW_ABSENT' => true,
  461.                         'SHOW_SKU_PROPS' => $arItem['OFFERS_PROPS_DISPLAY'],
  462.                         'SECOND_PICT' => $arItem['SECOND_PICT'],
  463.                         'SHOW_OLD_PRICE' => ('Y' == $arParams['SHOW_OLD_PRICE']),
  464.                         'SHOW_DISCOUNT_PERCENT' => ('Y' == $arParams['SHOW_DISCOUNT_PERCENT']),
  465.                         'ADD_TO_BASKET_ACTION' => $arParams['ADD_TO_BASKET_ACTION'],
  466.                         'SHOW_CLOSE_POPUP' => ($arParams['SHOW_CLOSE_POPUP'] == 'Y'),
  467.                         'DISPLAY_COMPARE' => $arParams['DISPLAY_COMPARE'],
  468.                         'DEFAULT_PICTURE' => array(
  469.                             'PICTURE' => $arItem['PRODUCT_PREVIEW'],
  470.                             'PICTURE_SECOND' => $arItem['PRODUCT_PREVIEW_SECOND']
  471.                         ),
  472.                         'VISUAL' => array(
  473.                             'ID' => $arItemIDs['ID'],
  474.                             'PICT_ID' => $arItemIDs['PICT'],
  475.                             'SECOND_PICT_ID' => $arItemIDs['SECOND_PICT'],
  476.                             'QUANTITY_ID' => $arItemIDs['QUANTITY'],
  477.                             'QUANTITY_UP_ID' => $arItemIDs['QUANTITY_UP'],
  478.                             'QUANTITY_DOWN_ID' => $arItemIDs['QUANTITY_DOWN'],
  479.                             'QUANTITY_MEASURE' => $arItemIDs['QUANTITY_MEASURE'],
  480.                             'PRICE_ID' => $arItemIDs['PRICE'],
  481.                             'TREE_ID' => $arItemIDs['PROP_DIV'],
  482.                             'TREE_ITEM_ID' => $arItemIDs['PROP'],
  483.                             'BUY_ID' => $arItemIDs['BUY_LINK'],
  484.                             'ADD_BASKET_ID' => $arItemIDs['ADD_BASKET_ID'],
  485.                             'DSC_PERC' => $arItemIDs['DSC_PERC'],
  486.                             'SECOND_DSC_PERC' => $arItemIDs['SECOND_DSC_PERC'],
  487.                             'DISPLAY_PROP_DIV' => $arItemIDs['DISPLAY_PROP_DIV'],
  488.                             'BASKET_ACTIONS_ID' => $arItemIDs['BASKET_ACTIONS'],
  489.                             'NOT_AVAILABLE_MESS' => $arItemIDs['NOT_AVAILABLE_MESS'],
  490.                             'COMPARE_LINK_ID' => $arItemIDs['COMPARE_LINK']
  491.                         ),
  492.                         'BASKET' => array(
  493.                             'QUANTITY' => $arParams['PRODUCT_QUANTITY_VARIABLE'],
  494.                             'PROPS' => $arParams['PRODUCT_PROPS_VARIABLE'],
  495.                             'SKU_PROPS' => $arItem['OFFERS_PROP_CODES'],
  496.                             'ADD_URL_TEMPLATE' => $arResult['~ADD_URL_TEMPLATE'],
  497.                             'BUY_URL_TEMPLATE' => $arResult['~BUY_URL_TEMPLATE']
  498.                         ),
  499.                         'PRODUCT' => array(
  500.                             'ID' => $arItem['ID'],
  501.                             'NAME' => $productTitle
  502.                         ),
  503.                         'OFFERS' => $arItem['JS_OFFERS'],
  504.                         'OFFER_SELECTED' => $arItem['OFFERS_SELECTED'],
  505.                         'TREE_PROPS' => $arSkuProps,
  506.                         'LAST_ELEMENT' => $arItem['LAST_ELEMENT']
  507.                     );
  508.                     if ($arParams['DISPLAY_COMPARE']) {
  509.                         $arJSParams['COMPARE'] = array(
  510.                             'COMPARE_URL_TEMPLATE' => $arResult['~COMPARE_URL_TEMPLATE'],
  511.                             'COMPARE_PATH' => $arParams['COMPARE_PATH']
  512.                         );
  513.                     } ?>
  514.                     <script type="text/javascript">
  515.                         var <? echo $strObName; ?> = new JCCatalogSection(<? echo CUtil::PhpToJSObject($arJSParams, false, true); ?>);
  516.                     </script> <?
  517.                 }
  518.             }
  519.         }?>
  520.     </div> <!--bx_catalog_item_container-->
  521.     </div> <!--bx_catalog_item double--><?
  522.     } ?>
  523.  
  524.     <script type="text/javascript">
  525.         BX.message({
  526.             BTN_MESSAGE_BASKET_REDIRECT: '<? echo GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_BASKET_REDIRECT'); ?>',
  527.             BASKET_URL: '<? echo $arParams["BASKET_URL"]; ?>',
  528.             ADD_TO_BASKET_OK: '<? echo GetMessageJS('ADD_TO_BASKET_OK'); ?>',
  529.             TITLE_ERROR: '<? echo GetMessageJS('CT_BCS_CATALOG_TITLE_ERROR') ?>',
  530.             TITLE_BASKET_PROPS: '<? echo GetMessageJS('CT_BCS_CATALOG_TITLE_BASKET_PROPS') ?>',
  531.             TITLE_SUCCESSFUL: '<? echo GetMessageJS('ADD_TO_BASKET_OK'); ?>',
  532.             BASKET_UNKNOWN_ERROR: '<? echo GetMessageJS('CT_BCS_CATALOG_BASKET_UNKNOWN_ERROR') ?>',
  533.             BTN_MESSAGE_SEND_PROPS: '<? echo GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_SEND_PROPS'); ?>',
  534.             BTN_MESSAGE_CLOSE: '<? echo GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_CLOSE') ?>',
  535.             BTN_MESSAGE_CLOSE_POPUP: '<? echo GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_CLOSE_POPUP'); ?>',
  536.             BTN_MESSAGE_BASKET_REDIRECT: '<? echo GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_BASKET_REDIRECT') ?>',
  537.             COMPARE_MESSAGE_OK: '<? echo GetMessageJS('CT_BCS_CATALOG_MESS_COMPARE_OK') ?>',
  538.             COMPARE_UNKNOWN_ERROR: '<? echo GetMessageJS('CT_BCS_CATALOG_MESS_COMPARE_UNKNOWN_ERROR') ?>',
  539.             COMPARE_TITLE: '<? echo GetMessageJS('CT_BCS_CATALOG_MESS_COMPARE_TITLE') ?>',
  540.             BTN_MESSAGE_COMPARE_REDIRECT: '<? echo GetMessageJS('CT_BCS_CATALOG_BTN_MESSAGE_COMPARE_REDIRECT') ?>',
  541.             SITE_ID: '<? echo SITE_ID; ?>'
  542.         });
  543.     </script>
  544.     <?
  545.     if ($arParams["DISPLAY_BOTTOM_PAGER"])
  546.     {
  547.         ?><? echo $arResult["NAV_STRING"]; ?><?
  548.     }
  549. }
  550. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement