%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/catalog.compare.result/templates/.default/ |
| Current File : /home/bitrix/www/bitrix/components/bitrix/catalog.compare.result/templates/.default/template.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixComponent $component */
$isAjax = false;
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$isAjax = (
(isset($_POST['ajax_action']) && $_POST['ajax_action'] == 'Y')
|| (isset($_POST['compare_result_reload']) && $_POST['compare_result_reload'] == 'Y')
);
}
$templateData = array(
'TEMPLATE_THEME' => $this->GetFolder().'/themes/'.$arParams['TEMPLATE_THEME'].'/style.css',
'TEMPLATE_CLASS' => 'bx_'.$arParams['TEMPLATE_THEME']
);
?><div class="bx_compare <? echo $templateData['TEMPLATE_CLASS']; ?>" id="bx_catalog_compare_block"><?
if ($isAjax)
{
$APPLICATION->RestartBuffer();
}
?><div class="bx_sort_container">
<div class="sorttext"><?=GetMessage("CATALOG_SHOWN_CHARACTERISTICS")?>:</div>
<a class="sortbutton<? echo (!$arResult["DIFFERENT"] ? ' current' : ''); ?>" href="<? echo $arResult['COMPARE_URL_TEMPLATE'].'DIFFERENT=N'; ?>" rel="nofollow"><?=GetMessage("CATALOG_ALL_CHARACTERISTICS")?></a>
<a class="sortbutton<? echo ($arResult["DIFFERENT"] ? ' current' : ''); ?>" href="<? echo $arResult['COMPARE_URL_TEMPLATE'].'DIFFERENT=Y'; ?>" rel="nofollow"><?=GetMessage("CATALOG_ONLY_DIFFERENT")?></a>
</div>
<?
if (!empty($arResult["ALL_FIELDS"]) || !empty($arResult["ALL_PROPERTIES"]) || !empty($arResult["ALL_OFFER_FIELDS"]) || !empty($arResult["ALL_OFFER_PROPERTIES"]))
{
?>
<div class="bx_filtren_container">
<h5><?=GetMessage("CATALOG_COMPARE_PARAMS")?></h5>
<ul><?
if (!empty($arResult["ALL_FIELDS"]))
{
foreach ($arResult["ALL_FIELDS"] as $propCode => $arProp)
{
if (!isset($arResult['FIELDS_REQUIRED'][$propCode]))
{
?>
<li><span onclick="CatalogCompareObj.MakeAjaxAction('<?=CUtil::JSEscape($arProp["ACTION_LINK"])?>')">
<span><input type="checkbox" id="PF_<?=$propCode?>"<? echo ($arProp["IS_DELETED"] == "N" ? ' checked="checked"' : ''); ?>></span>
<label for="PF_<?=$propCode?>"><?=GetMessage("IBLOCK_FIELD_".$propCode)?></label>
</span></li>
<?
}
}
}
if (!empty($arResult["ALL_OFFER_FIELDS"]))
{
foreach($arResult["ALL_OFFER_FIELDS"] as $propCode => $arProp)
{
?>
<li><span onclick="CatalogCompareObj.MakeAjaxAction('<?=CUtil::JSEscape($arProp["ACTION_LINK"])?>')">
<span><input type="checkbox" id="OF_<?=$propCode?>"<? echo ($arProp["IS_DELETED"] == "N" ? ' checked="checked"' : ''); ?>></span>
<label for="OF_<?=$propCode?>"><?=GetMessage("IBLOCK_OFFER_FIELD_".$propCode)?></label>
</span></li>
<?
}
}
if (!empty($arResult["ALL_PROPERTIES"]))
{
foreach($arResult["ALL_PROPERTIES"] as $propCode => $arProp)
{
?>
<li><span onclick="CatalogCompareObj.MakeAjaxAction('<?=CUtil::JSEscape($arProp["ACTION_LINK"])?>')">
<span><input type="checkbox" id="PP_<?=$propCode?>"<?echo ($arProp["IS_DELETED"] == "N" ? ' checked="checked"' : '');?>></span>
<label for="PP_<?=$propCode?>"><?=$arProp["NAME"]?></label>
</span></li>
<?
}
}
if (!empty($arResult["ALL_OFFER_PROPERTIES"]))
{
foreach($arResult["ALL_OFFER_PROPERTIES"] as $propCode => $arProp)
{
?>
<li><span onclick="CatalogCompareObj.MakeAjaxAction('<?=CUtil::JSEscape($arProp["ACTION_LINK"])?>')">
<span><input type="checkbox" id="OP_<?=$propCode?>"<? echo ($arProp["IS_DELETED"] == "N" ? ' checked="checked"' : ''); ?>></span>
<label for="OP_<?=$propCode?>"><?=$arProp["NAME"]?></label>
</span></li>
<?
}
}
?>
</ul>
</div>
<?
}
?>
<div class="table_compare">
<table class="data-table">
<?
if (!empty($arResult["SHOW_FIELDS"]))
{
foreach ($arResult["SHOW_FIELDS"] as $code => $arProp)
{
$showRow = true;
if ((!isset($arResult['FIELDS_REQUIRED'][$code]) || $arResult['DIFFERENT']) && count($arResult["ITEMS"]) > 1)
{
$arCompare = array();
foreach($arResult["ITEMS"] as $arElement)
{
$arPropertyValue = $arElement["FIELDS"][$code];
if (is_array($arPropertyValue))
{
sort($arPropertyValue);
$arPropertyValue = implode(" / ", $arPropertyValue);
}
$arCompare[] = $arPropertyValue;
}
unset($arElement);
$showRow = (count(array_unique($arCompare)) > 1);
}
if ($showRow)
{
?><tr><td><?=GetMessage("IBLOCK_FIELD_".$code)?></td><?
foreach($arResult["ITEMS"] as $arElement)
{
?>
<td valign="top">
<?
switch($code)
{
case "NAME":
?><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement[$code]?></a>
<?if($arElement["CAN_BUY"]):?>
<noindex><br /><a class="bx_bt_button bx_small" href="<?=$arElement["BUY_URL"]?>" rel="nofollow"><?=GetMessage("CATALOG_COMPARE_BUY"); ?></a></noindex>
<?elseif(!empty($arResult["PRICES"]) || is_array($arElement["PRICE_MATRIX"])):?>
<br /><?=GetMessage("CATALOG_NOT_AVAILABLE")?>
<?endif;
break;
case "PREVIEW_PICTURE":
case "DETAIL_PICTURE":
if (!empty($arElement["FIELDS"][$code]) && is_array($arElement["FIELDS"][$code])):?>
<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img
border="0" src="<?=$arElement["FIELDS"][$code]["SRC"]?>"
width="auto" height="150"
alt="<?=$arElement["FIELDS"][$code]["ALT"]?>" title="<?=$arElement["FIELDS"][$code]["TITLE"]?>"
/></a>
<?endif;
break;
default:
echo $arElement["FIELDS"][$code];
break;
}
?>
</td>
<?
}
unset($arElement);
}
?>
</tr>
<?
}
}
if (!empty($arResult["SHOW_OFFER_FIELDS"]))
{
foreach ($arResult["SHOW_OFFER_FIELDS"] as $code => $arProp)
{
$showRow = true;
if ($arResult['DIFFERENT'])
{
$arCompare = array();
foreach($arResult["ITEMS"] as $arElement)
{
$Value = $arElement["OFFER_FIELDS"][$code];
if(is_array($Value))
{
sort($Value);
$Value = implode(" / ", $Value);
}
$arCompare[] = $Value;
}
unset($arElement);
$showRow = (count(array_unique($arCompare)) > 1);
}
if ($showRow)
{
?>
<tr>
<td><?=GetMessage("IBLOCK_OFFER_FIELD_".$code)?></td>
<?foreach($arResult["ITEMS"] as $arElement)
{
?><td><?
switch ($code)
{
case 'PREVIEW_PICTURE':
case 'DETAIL_PICTURE':
if (!empty($arElement["OFFER_FIELDS"][$code]) && is_array($arElement["OFFER_FIELDS"][$code]))
{
?><img border="0" src="<?= $arElement["OFFER_FIELDS"][$code]["SRC"] ?>"
width="auto" height="150"
alt="<?= $arElement["OFFER_FIELDS"][$code]["ALT"] ?>" title="<?= $arElement["OFFER_FIELDS"][$code]["TITLE"] ?>"
/><?
}
break;
default:
?><?=(is_array($arElement["OFFER_FIELDS"][$code])? implode("/ ", $arElement["OFFER_FIELDS"][$code]): $arElement["OFFER_FIELDS"][$code])?><?
break;
}
?></td><?
}
unset($arElement);
?>
</tr>
<?
}
}
}
?>
<tr>
<td><?=GetMessage('CATALOG_COMPARE_PRICE');?></td>
<?
foreach ($arResult["ITEMS"] as $arElement)
{
if (isset($arElement['MIN_PRICE']) && is_array($arElement['MIN_PRICE']))
{
?><td><? echo $arElement['MIN_PRICE']['PRINT_DISCOUNT_VALUE']; ?></td><?
}
elseif (!empty($arElement['PRICE_MATRIX']) && is_array($arElement['PRICE_MATRIX']))
{
?><td style="vertical-align: top;"><?
$matrix = $arElement['PRICE_MATRIX'];
$rows = $matrix['ROWS'];
$rowsCount = count($rows);
if ($rowsCount > 0)
{
?><table class="compare-price"><?
if (count($rows) > 1)
{
foreach ($rows as $index => $rowData)
{
if (empty($matrix['MIN_PRICES'][$index]))
continue;
if ($rowData['QUANTITY_FROM'] == 0)
$rowTitle = GetMessage('CP_TPL_CCR_RANGE_TO', array('#TO#' => $rowData['QUANTITY_TO']));
elseif ($rowData['QUANTITY_TO'] == 0)
$rowTitle = GetMessage('CP_TPL_CCR_RANGE_FROM', array('#FROM#' => $rowData['QUANTITY_FROM']));
else
$rowTitle = GetMessage(
'CP_TPL_CCR_RANGE_FULL',
array('#FROM#' => $rowData['QUANTITY_FROM'], '#TO#' => $rowData['QUANTITY_TO'])
);
echo '<tr><td>'.$rowTitle.'</td><td>';
echo \CCurrencyLang::CurrencyFormat($matrix['MIN_PRICES'][$index]['PRICE'], $matrix['MIN_PRICES'][$index]['CURRENCY']);
echo '</td></tr>';
unset($rowTitle);
}
unset($index, $rowData);
}
else
{
$currentPrice = current($matrix['MIN_PRICES']);
echo '<tr><td class="simple">'.\CCurrencyLang::CurrencyFormat($currentPrice['PRICE'], $currentPrice['CURRENCY']).'</td></tr>';
unset($currentPrice);
}
?></table><?
}
unset($rowsCount, $rows, $matrix);
?></td><?
}
else
{
?><td> </td><?
}
}
unset($arElement);
?>
</tr>
<?
if (!empty($arResult["SHOW_PROPERTIES"]))
{
foreach ($arResult["SHOW_PROPERTIES"] as $code => $arProperty)
{
$showRow = true;
if ($arResult['DIFFERENT'])
{
$arCompare = array();
foreach($arResult["ITEMS"] as $arElement)
{
$arPropertyValue = $arElement["DISPLAY_PROPERTIES"][$code]["VALUE"];
if (is_array($arPropertyValue))
{
sort($arPropertyValue);
$arPropertyValue = implode(" / ", $arPropertyValue);
}
$arCompare[] = $arPropertyValue;
}
unset($arElement);
$showRow = (count(array_unique($arCompare)) > 1);
}
if ($showRow)
{
?>
<tr>
<td><?=$arProperty["NAME"]?></td>
<?foreach($arResult["ITEMS"] as $arElement)
{
?>
<td>
<?=(is_array($arElement["DISPLAY_PROPERTIES"][$code]["DISPLAY_VALUE"])? implode("/ ", $arElement["DISPLAY_PROPERTIES"][$code]["DISPLAY_VALUE"]): $arElement["DISPLAY_PROPERTIES"][$code]["DISPLAY_VALUE"])?>
</td>
<?
}
unset($arElement);
?>
</tr>
<?
}
}
}
if (!empty($arResult["SHOW_OFFER_PROPERTIES"]))
{
foreach($arResult["SHOW_OFFER_PROPERTIES"] as $code=>$arProperty)
{
$showRow = true;
if ($arResult['DIFFERENT'])
{
$arCompare = array();
foreach($arResult["ITEMS"] as $arElement)
{
$arPropertyValue = $arElement["OFFER_DISPLAY_PROPERTIES"][$code]["VALUE"];
if(is_array($arPropertyValue))
{
sort($arPropertyValue);
$arPropertyValue = implode(" / ", $arPropertyValue);
}
$arCompare[] = $arPropertyValue;
}
unset($arElement);
$showRow = (count(array_unique($arCompare)) > 1);
}
if ($showRow)
{
?>
<tr>
<td><?=$arProperty["NAME"]?></td>
<?foreach($arResult["ITEMS"] as $arElement)
{
?>
<td>
<?=(is_array($arElement["OFFER_DISPLAY_PROPERTIES"][$code]["DISPLAY_VALUE"])? implode("/ ", $arElement["OFFER_DISPLAY_PROPERTIES"][$code]["DISPLAY_VALUE"]): $arElement["OFFER_DISPLAY_PROPERTIES"][$code]["DISPLAY_VALUE"])?>
</td>
<?
}
unset($arElement);
?>
</tr>
<?
}
}
}
?>
<tr>
<td></td>
<?foreach($arResult["ITEMS"] as $arElement)
{
?>
<td>
<a onclick="CatalogCompareObj.delete('<?=CUtil::JSEscape($arElement['~DELETE_URL'])?>');" href="javascript:void(0)"><?=GetMessage("CATALOG_REMOVE_PRODUCT")?></a>
</td>
<?
}
unset($arElement);
?>
</tr>
</table>
</div>
<?
if ($isAjax)
{
die();
}
?>
</div>
<script type="text/javascript">
var CatalogCompareObj = new BX.Iblock.Catalog.CompareClass("bx_catalog_compare_block", '<?=CUtil::JSEscape($arResult['~COMPARE_URL_TEMPLATE']); ?>');
</script>