88 lines
2.8 KiB
PHP
88 lines
2.8 KiB
PHP
<?
|
|
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
|
/** @var CBitrixComponent $this */
|
|
/** @var array $arParams */
|
|
/** @var array $arResult */
|
|
/** @var string $componentPath */
|
|
/** @var string $componentName */
|
|
/** @var string $componentTemplate */
|
|
/** @global CDatabase $DB */
|
|
/** @global CUser $USER */
|
|
/** @global CMain $APPLICATION */
|
|
|
|
use Bitrix\Main\Context,
|
|
Bitrix\Main\Type\DateTime,
|
|
Bitrix\Main\Loader,
|
|
Bitrix\Iblock;
|
|
|
|
if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
|
|
{
|
|
if(CModule::IncludeModule('iblock'))
|
|
{
|
|
$arResult = array();
|
|
$sort = Array("NAME" => "ASC");
|
|
$filter = Array("IBLOCK_ID" => IBLOCK_ID_SPECIALS, "CODE" => $arParams['CODE']);
|
|
if(!isset($_GET['advertise'])) { $filter["ACTIVE"] = "Y"; }
|
|
$options = Array("nPageSize" => 1000);
|
|
|
|
if(isset($arParams["sort"]))
|
|
{
|
|
$sort = $arParams["sort"];
|
|
}
|
|
|
|
if(isset($arParams["options"]))
|
|
{
|
|
$options = $arParams["options"];
|
|
}
|
|
|
|
if(isset($arParams["filter"]))
|
|
{
|
|
$filter = array_merge($filter, $arParams["filter"]);
|
|
}
|
|
|
|
$res = CIBlockElement::GetList($sort, $filter, false, $options);
|
|
$arResult = Array();
|
|
|
|
while ($obElement = $res->GetNextElement())
|
|
{
|
|
$ar_res = $obElement->GetFields();
|
|
$ar_res['PROPERTIES'] = $obElement->GetProperties();
|
|
$ar_res['PROPERTIES']['CARS']['RELATED'] = get_related_array(IBLOCK_ID_SPECIAL_OFFERS_CARS, $ar_res['PROPERTIES']['CARS']['VALUE']);
|
|
|
|
for($i = 0; $i < count($ar_res['PROPERTIES']['CARS']['RELATED']); $i++)
|
|
{
|
|
$ar_res['PROPERTIES']['CARS']['RELATED'][$i]['PREVIEW_PICTURE'] = CFile::GetPath($ar_res['PROPERTIES']['CARS']['RELATED'][$i]['PREVIEW_PICTURE']);
|
|
|
|
if(is_array($ar_res['PROPERTIES']['CARS']['RELATED'][$i]['PROPERTIES']['PHOTOS']['VALUE']))
|
|
{
|
|
for($p = 0; $p < count($ar_res['PROPERTIES']['CARS']['RELATED'][$i]['PROPERTIES']['PHOTOS']['VALUE']); $p++)
|
|
{
|
|
$ar_res['PROPERTIES']['CARS']['RELATED'][$i]['PROPERTIES']['PHOTOS']['VALUE'][$p] = CFile::GetPath($ar_res['PROPERTIES']['CARS']['RELATED'][$i]['PROPERTIES']['PHOTOS']['VALUE'][$p]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(isset($ar_res['DETAIL_PICTURE']))
|
|
{
|
|
$ar_res['DETAIL_PICTURE'] = CFile::GetPath($ar_res['DETAIL_PICTURE']);
|
|
}
|
|
|
|
$arResult = $ar_res;
|
|
}
|
|
|
|
if(empty($ar_res['NAME'])) { define('ERROR_404', 'Y'); }
|
|
else
|
|
{
|
|
$APPLICATION->AddChainItem($ar_res["NAME"]);
|
|
$ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues($ar_res['IBLOCK_ID'], $ar_res["ID"]);
|
|
$meta = $ipropValues->getValues();
|
|
$APPLICATION->SetPageProperty("title", $meta['ELEMENT_META_TITLE']);
|
|
$APPLICATION->SetPageProperty("keywords", $meta['ELEMENT_META_KEYWORDS']);
|
|
$APPLICATION->SetPageProperty("description", $meta['ELEMENT_META_DESCRIPTION']);
|
|
|
|
$APPLICATION->AddHeadString('<link rel="canonical" href="'.$ar_res['CANONICAL_PAGE_URL'].'"/>');
|
|
}
|
|
|
|
$this->IncludeComponentTemplate();
|
|
}
|
|
} |