Здравствуйте. Может кто раньше сталкивался с подобной проблемой.
Не отображаются несколько изображений в детальной карточке товара. Что видно на скриншоте. Они как бы есть, загружаются (картинки), но отображается при этом только детальная картинка товара. Решение Аспро.Next, лицензия битрикс Бизнес.
[IMG WIDTH=640 HEIGHT=344]https://i.ibb.co/F8P1f3K/2021-11-26-20-49-53.png[/IMG]
[IMG WIDTH=640 HEIGHT=338]https://i.ibb.co/KNg7PxN/2021-11-26-20-50-18.png[/IMG]
На всякий случай вот код шаблона
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="basket_props_block" id="bx_basket_div_<?=$arResult["ID"];?>" style="display: none;">
<?if (!empty($arResult['PRODUCT_PROPERTIES_FILL'])){
foreach ($arResult['PRODUCT_PROPERTIES_FILL'] as $propID => $propInfo){?>
<input type="hidden" name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]" value="<? echo htmlspecialcharsbx($propInfo['ID']); ?>">
<?if (isset($arResult['PRODUCT_PROPERTIES'][$propID]))
unset($arResult['PRODUCT_PROPERTIES'][$propID]);
}
}
$arResult["EMPTY_PROPS_JS"]="Y";
$emptyProductProperties = empty($arResult['PRODUCT_PROPERTIES']);
if (!$emptyProductProperties){
$arResult["EMPTY_PROPS_JS"]="N";?>
<div class="wrapper">
<table>
<?foreach ($arResult['PRODUCT_PROPERTIES'] as $propID => $propInfo){?>
<tr>
<td><? echo $arResult['PROPERTIES'][$propID]['NAME']; ?></td>
<td>
<?if('L' == $arResult['PROPERTIES'][$propID]['PROPERTY_TYPE'] && 'C' == $arResult['PROPERTIES'][$propID]['LIST_TYPE']){
foreach($propInfo['VALUES'] as $valueID => $value){?>
<label>
<input type="radio" name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]" value="<? echo $valueID; ?>" <? echo ($valueID == $propInfo['SELECTED'] ? '"checked"' : ''); ?>><? echo $value; ?>
</label>
<?}
}else{?>
<select name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]">
<?foreach($propInfo['VALUES'] as $valueID => $value){?>
<option value="<? echo $valueID; ?>" <? echo ($valueID == $propInfo['SELECTED'] ? '"selected"' : ''); ?>><? echo $value; ?></option>
<?}?>
</select>
<?}?>
</td>
</tr>
<?}?>
</table>
</div>
<?}?>
</div>
<?
$this->setFrameMode(true);
$currencyList = '';
if (!empty($arResult['CURRENCIES'])){
$templateLibrary[] = 'currency';
$currencyList = CUtil::PhpToJSObject($arResult['CURRENCIES'], false, true, true);
}
?>
<?
$templateData = array(
'TEMPLATE_LIBRARY' => $templateLibrary,
'CURRENCIES' => $currencyList,
'STORES' => array(
"USE_STORE_PHONE" => $arParams["USE_STORE_PHONE"],
"SCHEDULE" => $arParams["SCHEDULE"],
"USE_MIN_AMOUNT" => $arParams["USE_MIN_AMOUNT"],
"MIN_AMOUNT" => $arParams["MIN_AMOUNT"],
"ELEMENT_ID" => $arResult["ID"],
"STORE_PATH" => $arParams["STORE_PATH"],
"MAIN_TITLE" => $arParams["MAIN_TITLE"],
"MAX_AMOUNT"=>$arParams["MAX_AMOUNT"],
"USE_ONLY_MAX_AMOUNT" => $arParams["USE_ONLY_MAX_AMOUNT"],
"SHOW_EMPTY_STORE" => $arParams['SHOW_EMPTY_STORE'],
"SHOW_GENERAL_STORE_INFORMATION" => $arParams['SHOW_GENERAL_STORE_INFORMATION'],
"USE_ONLY_MAX_AMOUNT" => $arParams["USE_ONLY_MAX_AMOUNT"],
"USER_FIELDS" => $arParams['USER_FIELDS'],
"FIELDS" => $arParams['FIELDS'],
"STORES_FILTER_ORDER" => $arParams['STORES_FILTER_ORDER'],
"STORES_FILTER" => $arParams['STORES_FILTER'],
"STORES" => $arParams['STORES'] = array_diff($arParams['STORES'], array('')),
)
);
unset($currencyList, $templateLibrary);
if($arResult["PROPERTIES"]["YM_ELEMENT_ID"] && $arResult["PROPERTIES"]["YM_ELEMENT_ID"]["VALUE"])
$templateData["YM_ELEMENT_ID"] = $arResult["PROPERTIES"]["YM_ELEMENT_ID"]["VALUE"];
$arSkuTemplate = array();
if (!empty($arResult['SKU_PROPS'])){
$arSkuTemplate=CNext::GetSKUPropsArray($arResult['SKU_PROPS'], $arResult["SKU_IBLOCK_ID"], "list", $arParams["OFFER_HIDE_NAME_PROPS"]);
}
$strMainID = $this->GetEditAreaId($arResult['ID']);
$strObName = 'ob'.preg_replace("/[^a-zA-Z0-9_]/", "x", $strMainID);
$arResult["strMainID"] = $this->GetEditAreaId($arResult['ID']);
$arItemIDs=CNext::GetItemsIDs($arResult, "Y");
$totalCount = CNext::GetTotalCount($arResult, $arParams);
$arQuantityData = CNext::GetQuantityArray($totalCount, $arItemIDs["ALL_ITEM_IDS"], "Y");
$arParams["BASKET_ITEMS"]=($arParams["BASKET_ITEMS"] ? $arParams["BASKET_ITEMS"] : array());
$useStores = $arParams["USE_STORE"] == "Y" && $arResult["STORES_COUNT"] && $arQuantityData["RIGHTS"]["SHOW_QUANTITY"];
$showCustomOffer=(($arResult['OFFERS'] && $arParams["TYPE_SKU"] !="N") ? true : false);
if($showCustomOffer){
$templateData['JS_OBJ'] = $strObName;
}
$strMeasure='';
$arAddToBasketData = array();
$templateData['STR_ID'] = $strObName;
if($arResult["OFFERS"]){
$strMeasure=$arResult["MIN_PRICE"]["CATALOG_MEASURE_NAME"];
$templateData["STORES"]["OFFERS"]="Y";
foreach($arResult["OFFERS"] as $arOffer){
$templateData["STORES"]["OFFERS_ID"][]=$arOffer["ID"];
}
}else{
if (($arParams["SHOW_MEASURE"]=="Y")&&($arResult["CATALOG_MEASURE"])){
$arMeasure = CCatalogMeasure::getList(array(), array("ID"=>$arResult["CATALOG_MEASURE"]), false, false, array())->GetNext();
$strMeasure=$arMeasure["SYMBOL_RUS"];
}
$arAddToBasketData = CNext::GetAddToBasketArray($arResult, $totalCount, $arParams["DEFAULT_COUNT"], $arParams["BASKET_URL"], false, $arItemIDs["ALL_ITEM_IDS"], 'btn-lg w_icons', $arParams);
}
$arOfferProps = implode(';', $arParams['OFFERS_CART_PROPERTIES']);
// save item viewed
$arFirstPhoto = reset($arResult['MORE_PHOTO']);
$arItemPrices = $arResult['MIN_PRICE'];
if(isset($arResult['PRICE_MATRIX']) && $arResult['PRICE_MATRIX'])
{
$rangSelected = $arResult['ITEM_QUANTITY_RANGE_SELECTED'];
$priceSelected = $arResult['ITEM_PRICE_SELECTED'];
if(isset($arResult['FIX_PRICE_MATRIX']) && $arResult['FIX_PRICE_MATRIX'])
{
$rangSelected = $arResult['FIX_PRICE_MATRIX']['RANGE_SELECT'];
$priceSelected = $arResult['FIX_PRICE_MATRIX']['PRICE_SELECT'];
}
$arItemPrices = $arResult['ITEM_PRICES'][$priceSelected];
$arItemPrices['VALUE'] = $arItemPrices['BASE_PRICE'];
$arItemPrices['PRINT_VALUE'] = \Aspro\Functions\CAsproItem::getCurrentPrice('BASE_PRICE', $arItemPrices);
$arItemPrices['DISCOUNT_VALUE'] = $arItemPrices['PRICE'];
$arItemPrices['PRINT_DISCOUNT_VALUE'] = \Aspro\Functions\CAsproItem::getCurrentPrice('PRICE', $arItemPrices);
}
$arViewedData = array(
'PRODUCT_ID' => $arResult['ID'],
'IBLOCK_ID' => $arResult['IBLOCK_ID'],
'NAME' => $arResult['NAME'],
'DETAIL_PAGE_URL' => $arResult['DETAIL_PAGE_URL'],
'PICTURE_ID' => $arResult['PREVIEW_PICTURE'] ? $arResult['PREVIEW_PICTURE']['ID'] : ($arFirstPhoto ? $arFirstPhoto['ID'] : false),
'CATALOG_MEASURE_NAME' => $arResult['CATALOG_MEASURE_NAME'],
'MIN_PRICE' => $arItemPrices,
'CAN_BUY' => $arResult['CAN_BUY'] ? 'Y' : 'N',
'IS_OFFER' => 'N',
'WITH_OFFERS' => $arResult['OFFERS'] ? 'Y' : 'N',
);
$actualItem = $arResult["OFFERS"] ? (isset($arResult['OFFERS'][$arResult['OFFERS_SELECTED']]) ? $arResult['OFFERS'][$arResult['OFFERS_SELECTED']] : reset($arResult['OFFERS'])) : $arResult;
?>
<sc ript type="text/javascript">
setViewedProduct(<?=$arResult['ID']?>, <?=CUtil::PhpToJSObject($arViewedData, false)?>);
</sc ript>
<met a itemprop="name" content="<?=$name = strip_tags(!empty($arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE']) ? $arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE'] : $arResult['NAME'])?>" />
<met a itemprop="category" content="<?=$arResult['CATEGORY_PATH']?>" />
<met a itemprop="description" content="<?=(strlen(strip_tags($arResult['PREVIEW_TEXT'])) ? strip_tags($arResult['PREVIEW_TEXT']) : (strlen(strip_tags($arResult['DETAIL_TEXT'])) ? strip_tags($arResult['DETAIL_TEXT']) : $name))?>" />
<div class="item_main_info <?=(!$showCustomOffer ? "noffer" : "");?> <?=($arParams["SHOW_UNABLE_SKU_PROPS"] != "N" ? "show_un_props" : "unshow_un_props");?>" id="<?=$arItemIDs["strMainID"];?>">
<div class="img_wrapper swipeignore">
<div class="stickers">
<?$prop = ($arParams["STIKERS_PROP"] ? $arParams["STIKERS_PROP"] : "HIT");?>
<?foreach(CNext::GetItemStickers($arResult["PROPERTIES"][$prop]) as $arSticker):?>
<div><div class="<?=$arSticker['CLASS']?>"><?=$arSticker['VALUE']?></div></div>
<?endforeach;?>
<?if($arParams["SALE_STIKER"] && $arResult["PROPERTIES"][$arParams["SALE_STIKER"]]["VALUE"]){?>
<div><div class="sticker_sale_text"><?=$arResult["PROPERTIES"][$arParams["SALE_STIKER"]]["VALUE"];?></div></div>
<?}?>
</div>
<div class="item_slider">
<?if(($arParams["DISPLAY_WISH_BUTTONS"] != "N" || $arParams["DISPLAY_COMPARE"] == "Y") || (strlen($arResult["DISPLAY_PROPERTIES"]["CML2_ARTICLE"]["VALUE"]) || ($arResult['SHOW_OFFERS_PROPS'] && $showCustomOffer))):?>
<div class="like_wrapper">
<?if($arParams["DISPLAY_WISH_BUTTONS"] != "N" || $arParams["DISPLAY_COMPARE"] == "Y"):?>
<div class="like_icons iblock">
<?if($arParams["DISPLAY_WISH_BUTTONS"] != "N"):?>
<?if(!$arResult["OFFERS"]):?>
<div class="wish_item text" <?=($arAddToBasketData['CAN_BUY'] ? '' : 'style="display:none"');?> data-item="<?=$arResult["ID"]?>" data-iblock="<?=$arResult["IBLOCK_ID"]?>">
<span class="value" title="<?=GetMessage('CT_BCE_CATALOG_IZB')?>" ><i></i></span>
<span class="value added" title="<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>"><i></i></span>
</div>
<?elseif($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1' && !empty($arResult['OFFERS_PROP'])):?>
<div class="wish_item text " <?=($arAddToBasketData['CAN_BUY'] ? '' : 'style="display:none"');?> data-item="" data-iblock="<?=$arResult["IBLOCK_ID"]?>" <?=(!empty($arResult['OFFERS_PROP']) ? 'data-offers="Y"' : '');?> data-props="<?=$arOfferProps?>">
<span class="value <?=$arParams["TYPE_SKU"];?>" title="<?=GetMessage('CT_BCE_CATALOG_IZB')?>"><i></i></span>
<span class="value added <?=$arParams["TYPE_SKU"];?>" title="<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>"><i></i></span>
</div>
<?endif;?>
<?endif;?>
<?if($arParams["DISPLAY_COMPARE"] == "Y"):?>
<?if(!$arResult["OFFERS"] || ($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1' && !$arResult["OFFERS_PROP"])):?>
<div data-item="<?=$arResult["ID"]?>" data-iblock="<?=$arResult["IBLOCK_ID"]?>" data-href="<?=$arResult["COMPARE_URL"]?>" class="compare_item text <?=($arResult["OFFERS"] ? $arParams["TYPE_SKU"] : "");?>" id="<? echo $arItemIDs["ALL_ITEM_IDS"]['COMPARE_LINK']; ?>">
<span class="value" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE')?>"><i></i></span>
<span class="value added" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE_ADDED')?>"><i></i></span>
</div>
<?elseif($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1'):?>
<div data-item="" data-iblock="<?=$arResult["IBLOCK_ID"]?>" data-href="<?=$arResult["COMPARE_URL"]?>" class="compare_item text <?=$arParams["TYPE_SKU"];?>">
<span class="value" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE')?>"><i></i></span>
<span class="value added" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE_ADDED')?>"><i></i></span>
</div>
<?endif;?>
<?endif;?>
</div>
<?endif;?>
</div>
<?endif;?>
<?reset($arResult['MORE_PHOTO']);
$arFirstPhoto = current($arResult['MORE_PHOTO']);
$viewImgType=$arParams["DETAIL_PICTURE_MODE"];?>
<div class="slides">
<?if($showCustomOffer && !empty($arResult['OFFERS_PROP'])){?>
<div class="offers_img wof">
<?$alt=$arFirstPhoto["ALT"];
$title=$arFirstPhoto["TITLE"];?>
<?if($arFirstPhoto["BIG"]["src"]){?>
<a href="<?=($viewImgType=="POPUP" ? $arFirstPhoto["BIG"]["src"] : "jav * ascript:void(0)");?>" class="<?=($viewImgType=="POPUP" ? "popup_link" : "line_link");?>" title="<?=$title;?>">
<img id="<? echo $arItemIDs["ALL_ITEM_IDS"]['PICT']; ?>" src="<?=$arFirstPhoto['SMALL']['src']; ?>" <?=($viewImgType=="MAGNIFIER" ? 'data-large="" data-xpreview="" data-xoriginal=""': "");?> alt="<?=$alt;?>" title="<?=$title;?>" itemprop="image">
<div class="zoom"></div>
</a>
<?}else{?>
<a href="jav * ascript:void(0)" class="" title="<?=$title;?>">
<img id="<? echo $arItemIDs["ALL_ITEM_IDS"]['PICT']; ?>" src="<?=$arFirstPhoto['SRC']; ?>" alt="<?=$alt;?>" title="<?=$title;?>" itemprop="image">
<div class="zoom"></div>
</a>
<?}?>
</div>
<?}else{
if($arResult["MORE_PHOTO"]){
$bMagnifier = ($viewImgType=="MAGNIFIER");?>
<ul>
<?foreach($arResult["MORE_PHOTO"] as $i => $arImage){
if($i && $bMagnifier):?>
<?continue;?>
<?endif;?>
<?$isEmpty=($arImage["SMALL"]["src"] ? false : true );?>
<?
$alt=$arImage["ALT"];
$title=$arImage["TITLE"];
?>
<li id="photo-<?=$i?>" <?=(!$i ? 'class="current"' : 'style="display: none;"')?>>
<?if(!$isEmpty){?>
<a href="<?=($viewImgType=="POPUP" ? $arImage["BIG"]["src"] : "jav * ascript:void(0)");?>" <?=($bIsOneImage ? '' : 'data-fancybox-group="item_slider"')?> class="<?=($viewImgType=="POPUP" ? "popup_link fancy" : "line_link");?>" title="<?=$title;?>">
<img src="<?=$arImage["SMALL"]["src"]?>" <?=($viewImgType=="MAGNIFIER" ? "class='zoom_picture'" : "");?> <?=($viewImgType=="MAGNIFIER" ? 'data-xoriginal="'.$arImage["BIG"]["src"].'" data-xpreview="'.$arImage["THUMB"]["src"].'"' : "");?> alt="<?=$alt;?>" title="<?=$title;?>"<?=(!$i ? ' itemprop="image"' : '')?>/>
<div class="zoom"></div>
</a>
<?}else{?>
<img src="<?=$arImage["SRC"]?>" alt="<?=$alt;?>" title="<?=$title;?>" />
<?}?>
</li>
<?}?>
</ul>
<?}
}?>
</div>
<?/*thumbs*/?>
<?if(!$showCustomOffer || empty($arResult['OFFERS_PROP'])){
if(count($arResult["MORE_PHOTO"]) > 1):?>
<div class="wrapp_thumbs xzoom-thumbs">
<div class="thumbs flexslider" data-plugin-options='{"animation": "slide", "selector": ".slides_block > li", "directionNav": true, "itemMargin":10, "itemWidth": 54, "controlsContainer": ".thumbs_navigation", "controlNav" :false, "animationLoop": true, "slideshow": false}' st yle="max-width:<?=ceil(((count($arResult['MORE_PHOTO']) <= 4 ? count($arResult['MORE_PHOTO']) : 4) * 64) - 10)?>px;">
<ul class="slides_block" id="thumbs">
<?foreach($arResult["MORE_PHOTO"]as $i => $arImage):?>
<li <?=(!$i ? 'class="current"' : '')?> data-big_img="<?=$arImage["BIG"]["src"]?>" data-small_img="<?=$arImage["SMALL"]["src"]?>">
<span><img class="xzoom-gallery" width="50" data-xpreview="<?=$arImage["THUMB"]["src"];?>" src="<?=$arImage["THUMB"]["src"]?>" alt="<?=$arImage["ALT"];?>" title="<?=$arImage["TITLE"];?>" /></span>
</li>
<?endforeach;?>
</ul>
<span class="thumbs_navigation custom_flex"></span>
</div>
</div>
<sc ript>
$(document).ready(function(){
$('.item_slider .thumbs li').first().addClass('current');
$('.item_slider .thumbs .slides_block').delegate('li:not(.current)', 'click', function(){
var slider_wrapper = $(this).parents('.item_slider'),
index = $(this).index();
$(this).addClass('current').siblings().removeClass('current')//.parents('.item_slider').find('.slides li').fadeOut(333);
if(arNextOptions['THEME']['DETAIL_PICTURE_MODE'] == 'MAGNIFIER')
{
var li = $(this).parents('.item_slider').find('.slides li');
li.find('img').attr('src', $(this).data('small_img'));
li.find('img').attr('xoriginal', $(this).data('big_img'));
}
else
{
slider_wrapper.find('.slides li').removeClass('current').hide();
slider_wrapper.find('.slides li:eq('+index+')').addClass('current').show();
}
});
})
</sc ript>
<?endif;?>
<?}else{?>
<div class="wrapp_thumbs">
<div class="sliders">
<div class="thumbs" style="">
</div>
</div>
</div>
<?}?>
</div>
<?/*mobile*/?>
<?if(!$showCustomOffer || empty($arResult['OFFERS_PROP'])){?>
<div class="item_slider color-controls flex flexslider" data-plugin-options='{"animation": "slide", "directionNav": false, "controlNav": true, "animationLoop": false, "slideshow": false, "slideshowSpeed": 10000, "animationSpeed": 600}'>
<ul class="slides">
<?if($arResult["MORE_PHOTO"]){
foreach($arResult["MORE_PHOTO"] as $i => $arImage){?>
<?$isEmpty=($arImage["SMALL"]["src"] ? false : true );?>
<li id="mphoto-<?=$i?>" <?=(!$i ? 'class="current"' : 'style="display: none;"')?>>
<?
$alt=$arImage["ALT"];
$title=$arImage["TITLE"];
?>
<?if(!$isEmpty){?>
<a href="<?=$arImage["BIG"]["src"]?>" data-fancybox-group="item_slider_flex" class="fancy popup_link" title="<?=$title;?>" >
<img src="<?=$arImage["SMALL"]["src"]?>" alt="<?=$alt;?>" title="<?=$title;?>" />
<div class="zoom"></div>
</a>
<?}else{?>
<img src="<?=$arImage["SRC"];?>" alt="<?=$alt;?>" title="<?=$title;?>" />
<?}?>
</li>
<?}
}?>
</ul>
</div>
<?}else{?>
<div class="item_slider flex color-controls"></div>
<?}?>
</div>
<sc ript type="text/javascript">
BX.message({
QUANTITY_AVAILIABLE: '<? echo COption::GetOptionString("aspro.next", "EXPRESSION_FOR_EXISTS", GetMessage("EXPRESSION_FOR_EXISTS_DEFAULT"), SITE_ID); ?>',
QUANTITY_NOT_AVAILIABLE: '<? echo COption::GetOptionString("aspro.next", "EXPRESSION_FOR_NOTEXISTS", GetMessage("EXPRESSION_FOR_NOTEXISTS"), SITE_ID); ?>',
ADD_ERROR_BASKET: '<? echo GetMessage("ADD_ERROR_BASKET"); ?>',
ADD_ERROR_COMPARE: '<? echo GetMessage("ADD_ERROR_COMPARE"); ?>',
ONE_CLICK_BUY: '<? echo GetMessage("ONE_CLICK_BUY"); ?>',
SITE_ID: '<? echo SITE_ID; ?>'
})
</sc ript>
[/CODE]Помогите, пожалуйста, может хотя бы натолкнете на мысль, что тут не так.
Идет проблема с выводом свойстапроблема с выводом свойства MORE_PHOTO, вроде там выводится массив, но почему-то не отображается. Отображение ошибок php тоже ничего не дало.
Не отображаются несколько изображений в детальной карточке товара. Что видно на скриншоте. Они как бы есть, загружаются (картинки), но отображается при этом только детальная картинка товара. Решение Аспро.Next, лицензия битрикс Бизнес.
[IMG WIDTH=640 HEIGHT=344]https://i.ibb.co/F8P1f3K/2021-11-26-20-49-53.png[/IMG]
[IMG WIDTH=640 HEIGHT=338]https://i.ibb.co/KNg7PxN/2021-11-26-20-50-18.png[/IMG]
На всякий случай вот код шаблона
[CODE]<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="basket_props_block" id="bx_basket_div_<?=$arResult["ID"];?>" style="display: none;">
<?if (!empty($arResult['PRODUCT_PROPERTIES_FILL'])){
foreach ($arResult['PRODUCT_PROPERTIES_FILL'] as $propID => $propInfo){?>
<input type="hidden" name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]" value="<? echo htmlspecialcharsbx($propInfo['ID']); ?>">
<?if (isset($arResult['PRODUCT_PROPERTIES'][$propID]))
unset($arResult['PRODUCT_PROPERTIES'][$propID]);
}
}
$arResult["EMPTY_PROPS_JS"]="Y";
$emptyProductProperties = empty($arResult['PRODUCT_PROPERTIES']);
if (!$emptyProductProperties){
$arResult["EMPTY_PROPS_JS"]="N";?>
<div class="wrapper">
<table>
<?foreach ($arResult['PRODUCT_PROPERTIES'] as $propID => $propInfo){?>
<tr>
<td><? echo $arResult['PROPERTIES'][$propID]['NAME']; ?></td>
<td>
<?if('L' == $arResult['PROPERTIES'][$propID]['PROPERTY_TYPE'] && 'C' == $arResult['PROPERTIES'][$propID]['LIST_TYPE']){
foreach($propInfo['VALUES'] as $valueID => $value){?>
<label>
<input type="radio" name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]" value="<? echo $valueID; ?>" <? echo ($valueID == $propInfo['SELECTED'] ? '"checked"' : ''); ?>><? echo $value; ?>
</label>
<?}
}else{?>
<select name="<? echo $arParams['PRODUCT_PROPS_VARIABLE']; ?>[<? echo $propID; ?>]">
<?foreach($propInfo['VALUES'] as $valueID => $value){?>
<option value="<? echo $valueID; ?>" <? echo ($valueID == $propInfo['SELECTED'] ? '"selected"' : ''); ?>><? echo $value; ?></option>
<?}?>
</select>
<?}?>
</td>
</tr>
<?}?>
</table>
</div>
<?}?>
</div>
<?
$this->setFrameMode(true);
$currencyList = '';
if (!empty($arResult['CURRENCIES'])){
$templateLibrary[] = 'currency';
$currencyList = CUtil::PhpToJSObject($arResult['CURRENCIES'], false, true, true);
}
?>
<?
$templateData = array(
'TEMPLATE_LIBRARY' => $templateLibrary,
'CURRENCIES' => $currencyList,
'STORES' => array(
"USE_STORE_PHONE" => $arParams["USE_STORE_PHONE"],
"SCHEDULE" => $arParams["SCHEDULE"],
"USE_MIN_AMOUNT" => $arParams["USE_MIN_AMOUNT"],
"MIN_AMOUNT" => $arParams["MIN_AMOUNT"],
"ELEMENT_ID" => $arResult["ID"],
"STORE_PATH" => $arParams["STORE_PATH"],
"MAIN_TITLE" => $arParams["MAIN_TITLE"],
"MAX_AMOUNT"=>$arParams["MAX_AMOUNT"],
"USE_ONLY_MAX_AMOUNT" => $arParams["USE_ONLY_MAX_AMOUNT"],
"SHOW_EMPTY_STORE" => $arParams['SHOW_EMPTY_STORE'],
"SHOW_GENERAL_STORE_INFORMATION" => $arParams['SHOW_GENERAL_STORE_INFORMATION'],
"USE_ONLY_MAX_AMOUNT" => $arParams["USE_ONLY_MAX_AMOUNT"],
"USER_FIELDS" => $arParams['USER_FIELDS'],
"FIELDS" => $arParams['FIELDS'],
"STORES_FILTER_ORDER" => $arParams['STORES_FILTER_ORDER'],
"STORES_FILTER" => $arParams['STORES_FILTER'],
"STORES" => $arParams['STORES'] = array_diff($arParams['STORES'], array('')),
)
);
unset($currencyList, $templateLibrary);
if($arResult["PROPERTIES"]["YM_ELEMENT_ID"] && $arResult["PROPERTIES"]["YM_ELEMENT_ID"]["VALUE"])
$templateData["YM_ELEMENT_ID"] = $arResult["PROPERTIES"]["YM_ELEMENT_ID"]["VALUE"];
$arSkuTemplate = array();
if (!empty($arResult['SKU_PROPS'])){
$arSkuTemplate=CNext::GetSKUPropsArray($arResult['SKU_PROPS'], $arResult["SKU_IBLOCK_ID"], "list", $arParams["OFFER_HIDE_NAME_PROPS"]);
}
$strMainID = $this->GetEditAreaId($arResult['ID']);
$strObName = 'ob'.preg_replace("/[^a-zA-Z0-9_]/", "x", $strMainID);
$arResult["strMainID"] = $this->GetEditAreaId($arResult['ID']);
$arItemIDs=CNext::GetItemsIDs($arResult, "Y");
$totalCount = CNext::GetTotalCount($arResult, $arParams);
$arQuantityData = CNext::GetQuantityArray($totalCount, $arItemIDs["ALL_ITEM_IDS"], "Y");
$arParams["BASKET_ITEMS"]=($arParams["BASKET_ITEMS"] ? $arParams["BASKET_ITEMS"] : array());
$useStores = $arParams["USE_STORE"] == "Y" && $arResult["STORES_COUNT"] && $arQuantityData["RIGHTS"]["SHOW_QUANTITY"];
$showCustomOffer=(($arResult['OFFERS'] && $arParams["TYPE_SKU"] !="N") ? true : false);
if($showCustomOffer){
$templateData['JS_OBJ'] = $strObName;
}
$strMeasure='';
$arAddToBasketData = array();
$templateData['STR_ID'] = $strObName;
if($arResult["OFFERS"]){
$strMeasure=$arResult["MIN_PRICE"]["CATALOG_MEASURE_NAME"];
$templateData["STORES"]["OFFERS"]="Y";
foreach($arResult["OFFERS"] as $arOffer){
$templateData["STORES"]["OFFERS_ID"][]=$arOffer["ID"];
}
}else{
if (($arParams["SHOW_MEASURE"]=="Y")&&($arResult["CATALOG_MEASURE"])){
$arMeasure = CCatalogMeasure::getList(array(), array("ID"=>$arResult["CATALOG_MEASURE"]), false, false, array())->GetNext();
$strMeasure=$arMeasure["SYMBOL_RUS"];
}
$arAddToBasketData = CNext::GetAddToBasketArray($arResult, $totalCount, $arParams["DEFAULT_COUNT"], $arParams["BASKET_URL"], false, $arItemIDs["ALL_ITEM_IDS"], 'btn-lg w_icons', $arParams);
}
$arOfferProps = implode(';', $arParams['OFFERS_CART_PROPERTIES']);
// save item viewed
$arFirstPhoto = reset($arResult['MORE_PHOTO']);
$arItemPrices = $arResult['MIN_PRICE'];
if(isset($arResult['PRICE_MATRIX']) && $arResult['PRICE_MATRIX'])
{
$rangSelected = $arResult['ITEM_QUANTITY_RANGE_SELECTED'];
$priceSelected = $arResult['ITEM_PRICE_SELECTED'];
if(isset($arResult['FIX_PRICE_MATRIX']) && $arResult['FIX_PRICE_MATRIX'])
{
$rangSelected = $arResult['FIX_PRICE_MATRIX']['RANGE_SELECT'];
$priceSelected = $arResult['FIX_PRICE_MATRIX']['PRICE_SELECT'];
}
$arItemPrices = $arResult['ITEM_PRICES'][$priceSelected];
$arItemPrices['VALUE'] = $arItemPrices['BASE_PRICE'];
$arItemPrices['PRINT_VALUE'] = \Aspro\Functions\CAsproItem::getCurrentPrice('BASE_PRICE', $arItemPrices);
$arItemPrices['DISCOUNT_VALUE'] = $arItemPrices['PRICE'];
$arItemPrices['PRINT_DISCOUNT_VALUE'] = \Aspro\Functions\CAsproItem::getCurrentPrice('PRICE', $arItemPrices);
}
$arViewedData = array(
'PRODUCT_ID' => $arResult['ID'],
'IBLOCK_ID' => $arResult['IBLOCK_ID'],
'NAME' => $arResult['NAME'],
'DETAIL_PAGE_URL' => $arResult['DETAIL_PAGE_URL'],
'PICTURE_ID' => $arResult['PREVIEW_PICTURE'] ? $arResult['PREVIEW_PICTURE']['ID'] : ($arFirstPhoto ? $arFirstPhoto['ID'] : false),
'CATALOG_MEASURE_NAME' => $arResult['CATALOG_MEASURE_NAME'],
'MIN_PRICE' => $arItemPrices,
'CAN_BUY' => $arResult['CAN_BUY'] ? 'Y' : 'N',
'IS_OFFER' => 'N',
'WITH_OFFERS' => $arResult['OFFERS'] ? 'Y' : 'N',
);
$actualItem = $arResult["OFFERS"] ? (isset($arResult['OFFERS'][$arResult['OFFERS_SELECTED']]) ? $arResult['OFFERS'][$arResult['OFFERS_SELECTED']] : reset($arResult['OFFERS'])) : $arResult;
?>
<sc ript type="text/javascript">
setViewedProduct(<?=$arResult['ID']?>, <?=CUtil::PhpToJSObject($arViewedData, false)?>);
</sc ript>
<met a itemprop="name" content="<?=$name = strip_tags(!empty($arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE']) ? $arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE'] : $arResult['NAME'])?>" />
<met a itemprop="category" content="<?=$arResult['CATEGORY_PATH']?>" />
<met a itemprop="description" content="<?=(strlen(strip_tags($arResult['PREVIEW_TEXT'])) ? strip_tags($arResult['PREVIEW_TEXT']) : (strlen(strip_tags($arResult['DETAIL_TEXT'])) ? strip_tags($arResult['DETAIL_TEXT']) : $name))?>" />
<div class="item_main_info <?=(!$showCustomOffer ? "noffer" : "");?> <?=($arParams["SHOW_UNABLE_SKU_PROPS"] != "N" ? "show_un_props" : "unshow_un_props");?>" id="<?=$arItemIDs["strMainID"];?>">
<div class="img_wrapper swipeignore">
<div class="stickers">
<?$prop = ($arParams["STIKERS_PROP"] ? $arParams["STIKERS_PROP"] : "HIT");?>
<?foreach(CNext::GetItemStickers($arResult["PROPERTIES"][$prop]) as $arSticker):?>
<div><div class="<?=$arSticker['CLASS']?>"><?=$arSticker['VALUE']?></div></div>
<?endforeach;?>
<?if($arParams["SALE_STIKER"] && $arResult["PROPERTIES"][$arParams["SALE_STIKER"]]["VALUE"]){?>
<div><div class="sticker_sale_text"><?=$arResult["PROPERTIES"][$arParams["SALE_STIKER"]]["VALUE"];?></div></div>
<?}?>
</div>
<div class="item_slider">
<?if(($arParams["DISPLAY_WISH_BUTTONS"] != "N" || $arParams["DISPLAY_COMPARE"] == "Y") || (strlen($arResult["DISPLAY_PROPERTIES"]["CML2_ARTICLE"]["VALUE"]) || ($arResult['SHOW_OFFERS_PROPS'] && $showCustomOffer))):?>
<div class="like_wrapper">
<?if($arParams["DISPLAY_WISH_BUTTONS"] != "N" || $arParams["DISPLAY_COMPARE"] == "Y"):?>
<div class="like_icons iblock">
<?if($arParams["DISPLAY_WISH_BUTTONS"] != "N"):?>
<?if(!$arResult["OFFERS"]):?>
<div class="wish_item text" <?=($arAddToBasketData['CAN_BUY'] ? '' : 'style="display:none"');?> data-item="<?=$arResult["ID"]?>" data-iblock="<?=$arResult["IBLOCK_ID"]?>">
<span class="value" title="<?=GetMessage('CT_BCE_CATALOG_IZB')?>" ><i></i></span>
<span class="value added" title="<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>"><i></i></span>
</div>
<?elseif($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1' && !empty($arResult['OFFERS_PROP'])):?>
<div class="wish_item text " <?=($arAddToBasketData['CAN_BUY'] ? '' : 'style="display:none"');?> data-item="" data-iblock="<?=$arResult["IBLOCK_ID"]?>" <?=(!empty($arResult['OFFERS_PROP']) ? 'data-offers="Y"' : '');?> data-props="<?=$arOfferProps?>">
<span class="value <?=$arParams["TYPE_SKU"];?>" title="<?=GetMessage('CT_BCE_CATALOG_IZB')?>"><i></i></span>
<span class="value added <?=$arParams["TYPE_SKU"];?>" title="<?=GetMessage('CT_BCE_CATALOG_IZB_ADDED')?>"><i></i></span>
</div>
<?endif;?>
<?endif;?>
<?if($arParams["DISPLAY_COMPARE"] == "Y"):?>
<?if(!$arResult["OFFERS"] || ($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1' && !$arResult["OFFERS_PROP"])):?>
<div data-item="<?=$arResult["ID"]?>" data-iblock="<?=$arResult["IBLOCK_ID"]?>" data-href="<?=$arResult["COMPARE_URL"]?>" class="compare_item text <?=($arResult["OFFERS"] ? $arParams["TYPE_SKU"] : "");?>" id="<? echo $arItemIDs["ALL_ITEM_IDS"]['COMPARE_LINK']; ?>">
<span class="value" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE')?>"><i></i></span>
<span class="value added" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE_ADDED')?>"><i></i></span>
</div>
<?elseif($arResult["OFFERS"] && $arParams["TYPE_SKU"] === 'TYPE_1'):?>
<div data-item="" data-iblock="<?=$arResult["IBLOCK_ID"]?>" data-href="<?=$arResult["COMPARE_URL"]?>" class="compare_item text <?=$arParams["TYPE_SKU"];?>">
<span class="value" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE')?>"><i></i></span>
<span class="value added" title="<?=GetMessage('CT_BCE_CATALOG_COMPARE_ADDED')?>"><i></i></span>
</div>
<?endif;?>
<?endif;?>
</div>
<?endif;?>
</div>
<?endif;?>
<?reset($arResult['MORE_PHOTO']);
$arFirstPhoto = current($arResult['MORE_PHOTO']);
$viewImgType=$arParams["DETAIL_PICTURE_MODE"];?>
<div class="slides">
<?if($showCustomOffer && !empty($arResult['OFFERS_PROP'])){?>
<div class="offers_img wof">
<?$alt=$arFirstPhoto["ALT"];
$title=$arFirstPhoto["TITLE"];?>
<?if($arFirstPhoto["BIG"]["src"]){?>
<a href="<?=($viewImgType=="POPUP" ? $arFirstPhoto["BIG"]["src"] : "jav * ascript:void(0)");?>" class="<?=($viewImgType=="POPUP" ? "popup_link" : "line_link");?>" title="<?=$title;?>">
<img id="<? echo $arItemIDs["ALL_ITEM_IDS"]['PICT']; ?>" src="<?=$arFirstPhoto['SMALL']['src']; ?>" <?=($viewImgType=="MAGNIFIER" ? 'data-large="" data-xpreview="" data-xoriginal=""': "");?> alt="<?=$alt;?>" title="<?=$title;?>" itemprop="image">
<div class="zoom"></div>
</a>
<?}else{?>
<a href="jav * ascript:void(0)" class="" title="<?=$title;?>">
<img id="<? echo $arItemIDs["ALL_ITEM_IDS"]['PICT']; ?>" src="<?=$arFirstPhoto['SRC']; ?>" alt="<?=$alt;?>" title="<?=$title;?>" itemprop="image">
<div class="zoom"></div>
</a>
<?}?>
</div>
<?}else{
if($arResult["MORE_PHOTO"]){
$bMagnifier = ($viewImgType=="MAGNIFIER");?>
<ul>
<?foreach($arResult["MORE_PHOTO"] as $i => $arImage){
if($i && $bMagnifier):?>
<?continue;?>
<?endif;?>
<?$isEmpty=($arImage["SMALL"]["src"] ? false : true );?>
<?
$alt=$arImage["ALT"];
$title=$arImage["TITLE"];
?>
<li id="photo-<?=$i?>" <?=(!$i ? 'class="current"' : 'style="display: none;"')?>>
<?if(!$isEmpty){?>
<a href="<?=($viewImgType=="POPUP" ? $arImage["BIG"]["src"] : "jav * ascript:void(0)");?>" <?=($bIsOneImage ? '' : 'data-fancybox-group="item_slider"')?> class="<?=($viewImgType=="POPUP" ? "popup_link fancy" : "line_link");?>" title="<?=$title;?>">
<img src="<?=$arImage["SMALL"]["src"]?>" <?=($viewImgType=="MAGNIFIER" ? "class='zoom_picture'" : "");?> <?=($viewImgType=="MAGNIFIER" ? 'data-xoriginal="'.$arImage["BIG"]["src"].'" data-xpreview="'.$arImage["THUMB"]["src"].'"' : "");?> alt="<?=$alt;?>" title="<?=$title;?>"<?=(!$i ? ' itemprop="image"' : '')?>/>
<div class="zoom"></div>
</a>
<?}else{?>
<img src="<?=$arImage["SRC"]?>" alt="<?=$alt;?>" title="<?=$title;?>" />
<?}?>
</li>
<?}?>
</ul>
<?}
}?>
</div>
<?/*thumbs*/?>
<?if(!$showCustomOffer || empty($arResult['OFFERS_PROP'])){
if(count($arResult["MORE_PHOTO"]) > 1):?>
<div class="wrapp_thumbs xzoom-thumbs">
<div class="thumbs flexslider" data-plugin-options='{"animation": "slide", "selector": ".slides_block > li", "directionNav": true, "itemMargin":10, "itemWidth": 54, "controlsContainer": ".thumbs_navigation", "controlNav" :false, "animationLoop": true, "slideshow": false}' st yle="max-width:<?=ceil(((count($arResult['MORE_PHOTO']) <= 4 ? count($arResult['MORE_PHOTO']) : 4) * 64) - 10)?>px;">
<ul class="slides_block" id="thumbs">
<?foreach($arResult["MORE_PHOTO"]as $i => $arImage):?>
<li <?=(!$i ? 'class="current"' : '')?> data-big_img="<?=$arImage["BIG"]["src"]?>" data-small_img="<?=$arImage["SMALL"]["src"]?>">
<span><img class="xzoom-gallery" width="50" data-xpreview="<?=$arImage["THUMB"]["src"];?>" src="<?=$arImage["THUMB"]["src"]?>" alt="<?=$arImage["ALT"];?>" title="<?=$arImage["TITLE"];?>" /></span>
</li>
<?endforeach;?>
</ul>
<span class="thumbs_navigation custom_flex"></span>
</div>
</div>
<sc ript>
$(document).ready(function(){
$('.item_slider .thumbs li').first().addClass('current');
$('.item_slider .thumbs .slides_block').delegate('li:not(.current)', 'click', function(){
var slider_wrapper = $(this).parents('.item_slider'),
index = $(this).index();
$(this).addClass('current').siblings().removeClass('current')//.parents('.item_slider').find('.slides li').fadeOut(333);
if(arNextOptions['THEME']['DETAIL_PICTURE_MODE'] == 'MAGNIFIER')
{
var li = $(this).parents('.item_slider').find('.slides li');
li.find('img').attr('src', $(this).data('small_img'));
li.find('img').attr('xoriginal', $(this).data('big_img'));
}
else
{
slider_wrapper.find('.slides li').removeClass('current').hide();
slider_wrapper.find('.slides li:eq('+index+')').addClass('current').show();
}
});
})
</sc ript>
<?endif;?>
<?}else{?>
<div class="wrapp_thumbs">
<div class="sliders">
<div class="thumbs" style="">
</div>
</div>
</div>
<?}?>
</div>
<?/*mobile*/?>
<?if(!$showCustomOffer || empty($arResult['OFFERS_PROP'])){?>
<div class="item_slider color-controls flex flexslider" data-plugin-options='{"animation": "slide", "directionNav": false, "controlNav": true, "animationLoop": false, "slideshow": false, "slideshowSpeed": 10000, "animationSpeed": 600}'>
<ul class="slides">
<?if($arResult["MORE_PHOTO"]){
foreach($arResult["MORE_PHOTO"] as $i => $arImage){?>
<?$isEmpty=($arImage["SMALL"]["src"] ? false : true );?>
<li id="mphoto-<?=$i?>" <?=(!$i ? 'class="current"' : 'style="display: none;"')?>>
<?
$alt=$arImage["ALT"];
$title=$arImage["TITLE"];
?>
<?if(!$isEmpty){?>
<a href="<?=$arImage["BIG"]["src"]?>" data-fancybox-group="item_slider_flex" class="fancy popup_link" title="<?=$title;?>" >
<img src="<?=$arImage["SMALL"]["src"]?>" alt="<?=$alt;?>" title="<?=$title;?>" />
<div class="zoom"></div>
</a>
<?}else{?>
<img src="<?=$arImage["SRC"];?>" alt="<?=$alt;?>" title="<?=$title;?>" />
<?}?>
</li>
<?}
}?>
</ul>
</div>
<?}else{?>
<div class="item_slider flex color-controls"></div>
<?}?>
</div>
<sc ript type="text/javascript">
BX.message({
QUANTITY_AVAILIABLE: '<? echo COption::GetOptionString("aspro.next", "EXPRESSION_FOR_EXISTS", GetMessage("EXPRESSION_FOR_EXISTS_DEFAULT"), SITE_ID); ?>',
QUANTITY_NOT_AVAILIABLE: '<? echo COption::GetOptionString("aspro.next", "EXPRESSION_FOR_NOTEXISTS", GetMessage("EXPRESSION_FOR_NOTEXISTS"), SITE_ID); ?>',
ADD_ERROR_BASKET: '<? echo GetMessage("ADD_ERROR_BASKET"); ?>',
ADD_ERROR_COMPARE: '<? echo GetMessage("ADD_ERROR_COMPARE"); ?>',
ONE_CLICK_BUY: '<? echo GetMessage("ONE_CLICK_BUY"); ?>',
SITE_ID: '<? echo SITE_ID; ?>'
})
</sc ript>
[/CODE]Помогите, пожалуйста, может хотя бы натолкнете на мысль, что тут не так.
Идет проблема с выводом свойстапроблема с выводом свойства MORE_PHOTO, вроде там выводится массив, но почему-то не отображается. Отображение ошибок php тоже ничего не дало.