295 lines
14 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?
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'))
{
$sort = [ "SORT" => "ASC" ];
$filter = [ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_RULES'], ];
$options = false;
$group = null;
$group_name = null;
$group_genitive = null;
$group_accusative = null;
$group_prepositional = null;
$group_slug = null;
$brand = null;
$brand_name = null;
$brand_slug = null;
$type = null;
$type_name = null;
$type_plural = null;
$type_genitive = null;
$type_singular_genitive = null;
$type_slug = null;
$type_section = null;
if(isset($_REQUEST['GROUP']))
{
$res_group = CIBlockSection::GetList(
[ "SORT" => "ASC" ],
[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION'], "CODE" => $_REQUEST['GROUP'], ],
false, [ "UF_VEHICLE_GROUP_GENITIVE_NAME", "UF_VEHICLE_GROUP_ACCUSATIVE_NAME", "UF_VEHICLE_GROUP_PREPOSITIONAL_NAME", ]
);
while($section_group = $res_group->GetNext())
{
$group = $section_group['ID'];
$group_name = $section_group['NAME'];
$group_genitive = $section_group['UF_VEHICLE_GROUP_GENITIVE_NAME'];
$group_accusative = $section_group['UF_VEHICLE_GROUP_ACCUSATIVE_NAME'];
$group_prepositional = $section_group['UF_VEHICLE_GROUP_PREPOSITIONAL_NAME'];
$group_slug = $section_group['CODE'];
//$section_group['PROPERTIES'] = $section_group;
// print "<pre>";
// print_r($section_group);
// print "</pre>";
// print "<pre>";
// print_r($group);
// print "</pre>";
}
}
if(isset($_REQUEST['BRAND']))
{
$res_brand = CIBlockElement::GetList(
[ "SORT" => "ASC" ],
[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION_BRANDS'], "CODE" => $_REQUEST['BRAND'], ],
false, false
);
while ($element_brand = $res_brand->GetNextElement())
{
$ar_res_brand = $element_brand->GetFields();
$brand = $ar_res_brand['ID'];
$brand_name = $ar_res_brand['NAME'];
$brand_slug = $ar_res_brand['CODE'];
}
}
if(isset($_REQUEST['TYPE']))
{
$res_type = CIBlockElement::GetList(
[ "SORT" => "ASC" ],
[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION'], "CODE" => $_REQUEST['TYPE'], ],
false, false
);
while ($element_type = $res_type->GetNextElement())
{
$ar_res_type = $element_type->GetFields();
$ar_res_type['PROPERTIES'] = $element_type->GetProperties();
$type = $ar_res_type['ID'];
$type_name = $ar_res_type['NAME'];
$type_plural = $ar_res_type['PROPERTIES']['PLURAL_NAME']['VALUE'];
$type_genitive = $ar_res_type['PROPERTIES']['GENITIVE_NAME']['VALUE'];
$type_singular_genitive = $ar_res_type['PROPERTIES']['GENITIVE_SINGULAR_NAME']['VALUE'];
$type_slug = $ar_res_type['CODE'];
$type_gender = $ar_res_type['PROPERTIES']['NAME_GENDER']['VALUE_XML_ID'];
$type_section = $ar_res_type['IBLOCK_SECTION_ID'];
}
// if($group === null && $type_section !== null)
// {
// $group_res = CIBlockSection::GetByID($type_section);
// if($ar_group_res = $group_res->GetNext())
// {
// $group_name = $ar_group_res['NAME'];
// $group_slug = $ar_group_res['CODE'];
// }
// }
}
if(isset($_REQUEST['TYPE']))
{
/*
elseif(isset($_REQUEST['CHUNK']))
{
$res_type = CIBlockElement::GetList(
[ "SORT" => "ASC" ],
[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION'], "CODE" => $_REQUEST['CHUNK'], ],
false, false
);
while ($element_type = $res_type->GetNextElement())
{
$ar_res_type = $element_type->GetFields();
$ar_res_type['PROPERTIES'] = $element_type->GetProperties();
$type = $ar_res_type['ID'];
$type_name = $ar_res_type['NAME'];
$type_plural = $ar_res_type['PROPERTIES']['PLURAL_NAME']['VALUE'];
$type_genitive = $ar_res_type['PROPERTIES']['GENITIVE_NAME']['VALUE'];
$type_slug = $ar_res_type['CODE'];
$type_gender = $ar_res_type['PROPERTIES']['NAME_GENDER']['VALUE_XML_ID'];
}
$res_brand = CIBlockElement::GetList(
[ "SORT" => "ASC" ],
[ "ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION_BRANDS'], "CODE" => $_REQUEST['CHUNK'], ],
false, false
);
while ($element_brand = $res_brand->GetNextElement())
{
$ar_res_brand = $element_brand->GetFields();
$brand = $ar_res_brand['ID'];
$brand_name = $ar_res_brand['NAME'];
$brand_slug = $ar_res_brand['CODE'];
}
}
*/
}
if($group !== null)
{
$filter['PROPERTY_VEHICLE_GROUP'] = $group;
}
else
{
$filter['PROPERTY_VEHICLE_GROUP'] = false;
}
if($type !== null)
{
$filter['PROPERTY_VEHICLE_TYPE'] = $type;
}
else
{
$filter['PROPERTY_VEHICLE_TYPE'] = false;
}
if($brand !== null)
{
$filter['PROPERTY_VEHICLE_BRAND'] = $brand;
}
else
{
$filter['PROPERTY_VEHICLE_BRAND'] = false;
}
$res = CIBlockElement::GetList($sort, $filter, false, $options);
// print "<pre>";
// print_r($filter);
// print "</pre>";
// die();
while ($element = $res->GetNextElement())
{
$ar_res = $element->GetFields();
$ar_res['PROPERTIES'] = $element->GetProperties();
$arResult = $ar_res;
$arResult['BANNER'] = CFile::GetPath($ar_res['PREVIEW_PICTURE']);
$arResult['DETAIL_PICTURE'] = CFile::GetPath($ar_res['DETAIL_PICTURE']);
$arResult['GROUP'] = $group;
$arResult['GROUP_NAME'] = $group_name;
$arResult['GROUP_SLUG'] = $group_slug;
$arResult['GROUP_GENITIVE'] = $group_genitive;
$arResult['GROUP_ACCUSATIVE'] = $group_accusative;
$arResult['GROUP_PREPOSITIONAL'] = $group_prepositional;
$arResult['BRAND'] = $brand;
$arResult['BRAND_NAME'] = $brand_name;
$arResult['BRAND_SLUG'] = $brand_slug;
$arResult['TYPE'] = $type;
$arResult['TYPE_SLUG'] = $type_slug;
$arResult['TYPE_PLURAL'] = $type_plural;
$arResult['TYPE_GENITIVE'] = $type_genitive;
$arResult['TYPE_GENITIVE_SINGULAR'] = $type_singular_genitive;
}
$APPLICATION->AddChainItem($arParams['TITLE'], "/programs/special/");
$APPLICATION->SetPageProperty("title", "Лизинг ".mb_strtolower($arParams['SHORT_TITLE_GENITIVE'])." для юридических лиц и ИП в Москве - купить новую ".mb_strtolower($arParams['SHORT_TITLE_ACCUSATIVE'])." в лизинг | Эволюция");
$APPLICATION->SetPageProperty("description", "Новая ".mb_strtolower($arParams['SHORT_TITLE'])." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".mb_strtolower($arParams['SHORT_TITLE_ACCUSATIVE'])." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
$APPLICATION->SetPageProperty("keywords", "".$arParams['SHORT_TITLE']." в лизинг, лизинг ".mb_strtolower($arParams['SHORT_TITLE_GENITIVE'])." для юридических лиц, лизинг ".mb_strtolower($arParams['SHORT_TITLE_GENITIVE'])." для ип");
if(empty($arResult['NAME'])) { define('ERROR_404', 'Y'); }
else
{
if($group !== null)
{
$APPLICATION->SetPageProperty("title", "".$group_name." в лизинг для юридических лиц и ИП в Москве - купить новую ".mb_strtolower($group_accusative)." в лизинг | Эволюция");
$APPLICATION->SetPageProperty("description", "Новая ".mb_strtolower($group_name)." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".mb_strtolower($group_accusative)." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
$APPLICATION->SetPageProperty("keywords", "".mb_strtolower($group_name)." в лизинг, купить ".mb_strtolower($group_accusative)." в лизинг, ".mb_strtolower($group_name)." в лизинг для юридических лиц, ".mb_strtolower($group_name)." в лизинг для ип");
$APPLICATION->AddChainItem($group_name, "/programs/special/".$group_slug."/");
if($type !== null)
{
$APPLICATION->SetPageProperty("title", "".$type_plural." в лизинг для юридических лиц и ИП в Москве - купить ".($type_gender === "M" ? "новый" : ($type_gender === "F" ? "новую" : "новые" ))." ".$type_name." в лизинг | Эволюция");
$APPLICATION->SetPageProperty("description", "Новые ".mb_strtolower($type_plural)." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".$type_name." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
$APPLICATION->SetPageProperty("keywords", "".$type_plural." в лизинг, купить ".$type_name." в лизинг, ".$type_name." в лизинг для юридических лиц, ".$type_name." в лизинг для ип");
$APPLICATION->AddChainItem($type_name, "/programs/special/".$group_slug."/".$type_slug."/");
}
}
else
{
if($type !== null)
{
$APPLICATION->SetPageProperty("title", "".$type_plural." в лизинг для юридических лиц и ИП в Москве - купить ".($type_gender === "M" ? "новый" : ($type_gender === "F" ? "новую" : "новые" ))." ".$type_name." в лизинг | Эволюция");
$APPLICATION->SetPageProperty("description", "Новые ".mb_strtolower($type_plural)." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".$type_name." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
$APPLICATION->SetPageProperty("keywords", "".$type_plural." в лизинг, купить ".$type_name." в лизинг, ".$type_name." в лизинг для юридических лиц, ".$type_name." в лизинг для ип");
if($brand !== null)
{
$APPLICATION->AddChainItem($brand_name, "/programs/special/brand-".$brand_slug."/");
$APPLICATION->SetPageProperty("title", "".$type_plural." ".$brand_name." в лизинг для юридических лиц и ИП в Москве - купить ".($type_gender === "M" ? "новый" : ($type_gender === "F" ? "новую" : "новые" ))." ".$type_name." ".$brand_name." в лизинг | Эволюция");
$APPLICATION->SetPageProperty("description", "Новые ".mb_strtolower($type_plural)." ".$brand_name." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".$type_name." ".$brand_name." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
$APPLICATION->SetPageProperty("keywords", "".$type_plural." ".$brand_name." в лизинг, купить ".$type_name." ".$brand_name." в лизинг, ".$type_name." ".$brand_name." в лизинг для юридических лиц, ".$type_name." ".$brand_name." в лизинг для ип");
$APPLICATION->AddChainItem($type_name, "/programs/special/brand-".$brand_slug."/".$type_slug."/");
}
else
{
$APPLICATION->AddChainItem($type_name, "/programs/special/".$type_slug."/");
}
}
else
{
if($brand !== null)
{
$APPLICATION->AddChainItem($brand_name, "/programs/special/brand-".$brand_slug."/");
$APPLICATION->SetPageProperty("title", "".$arParams['SHORT_TITLE']." ".$brand_name." в лизинг для юридических лиц и ИП в Москве - купить новую ".mb_strtolower($arParams['SHORT_TITLE_ACCUSATIVE'])." ".$brand_name." в лизинг | Эволюция");
$APPLICATION->SetPageProperty("description", "Новая ".mb_strtolower($arParams['SHORT_TITLE'])." ".$brand_name." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".mb_strtolower($arParams['SHORT_TITLE_ACCUSATIVE'])." ".$brand_name." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
$APPLICATION->SetPageProperty("keywords", "".$brand_name." в лизинг, купить ".$brand_name." в лизинг, ".$brand_name." в лизинг для юридических лиц, ".$brand_name." в лизинг для ип, ".mb_strtolower($arParams['SHORT_TITLE'])." ".$brand_name." в лизинг");
}
}
}
// $ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues($arResult['IBLOCK_ID'], $arResult["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();
}
}