308 lines
16 KiB
PHP
308 lines
16 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'))
|
||
{
|
||
$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_accusative = 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", "UF_VEHICLE_GROUP_NAME_GENDER", ]
|
||
);
|
||
|
||
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_gender = UF_VEHICLE_GROUP_NAME_GENDER_IDS[$section_group['UF_VEHICLE_GROUP_NAME_GENDER']];
|
||
$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_accusative = $ar_res_type['PROPERTIES']['ACCUSATIVE_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['GROUP_GENDER'] = $group_gender;
|
||
|
||
$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/".$arParams['PATH']."/");
|
||
$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." в лизинг для юридических лиц и ИП в Москве - купить ".($group_gender === "M" ? "новый" : ($group_gender === "F" ? "новую" : "новые" ))." ".mb_strtolower($group_accusative)." в лизинг | Эволюция");
|
||
$APPLICATION->SetPageProperty("description", "".($group_gender === "M" ? "Новый" : ($group_gender === "F" ? "Новая" : "Новые" ))." ".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/".$arParams['PATH']."/".$group_slug."/");
|
||
|
||
if($type !== null)
|
||
{
|
||
$APPLICATION->SetPageProperty("title", "".$type_plural." в лизинг для юридических лиц и ИП в Москве - купить ".($type_gender === "M" ? "новый" : ($type_gender === "F" ? "новую" : "новые" ))." ".mb_strtolower($type_accusative)." в лизинг | Эволюция");
|
||
$APPLICATION->SetPageProperty("description", "".($type_gender === "M" ? "Новые" : ($type_gender === "F" ? "Новая" : "Новое" ))." ".mb_strtolower($type_plural)." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".mb_strtolower($type_accusative)." в лизинг от официальных дилеров на выгодных условиях со скидкой. Телефон горячей линии 8 (800) 333-75-75 - звонок по России бесплатный.");
|
||
$APPLICATION->SetPageProperty("keywords", "".mb_strtolower($type_plural)." в лизинг, купить ".mb_strtolower($type_accusative)." в лизинг, ".mb_strtolower($type_name)." в лизинг для юридических лиц, ".mb_strtolower($type_name)." в лизинг для ип");
|
||
|
||
$APPLICATION->AddChainItem($type_name, "/programs/".$arParams['PATH']."/".$group_slug."/".$type_slug."/");
|
||
|
||
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/'.$group_slug.'/'.$type_slug.'/"/>');
|
||
}
|
||
else
|
||
{
|
||
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/'.$group_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/".$arParams['PATH']."/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/".$arParams['PATH']."/brand-".$brand_slug."/".$type_slug."/");
|
||
|
||
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/brand-'.$brand_slug.'/'.$type_slug.'/"/>');
|
||
}
|
||
else
|
||
{
|
||
$APPLICATION->AddChainItem($type_name, "/programs/".$arParams['PATH']."/".$type_slug."/");
|
||
|
||
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/'.$type_slug.'/"/>');
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if($brand !== null)
|
||
{
|
||
$APPLICATION->AddChainItem($brand_name, "/programs/".$arParams['PATH']."/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." в лизинг");
|
||
|
||
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/brand-'.$brand_slug.'/"/>');
|
||
}
|
||
else
|
||
{
|
||
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/programs/'.$arParams['PATH'].'/"/>');
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
$this->IncludeComponentTemplate();
|
||
}
|
||
} |