taxi program SEO refactoring

This commit is contained in:
merelendor 2024-07-25 10:44:41 +03:00
parent d1e32d3076
commit 19d6a11432
8 changed files with 267 additions and 118 deletions

View File

@ -49,6 +49,11 @@ use Bitrix\Main\Context,
//$models_filter["PROPERTY_PROMO_VALUE"] = "Да"; //$models_filter["PROPERTY_PROMO_VALUE"] = "Да";
} }
if($arParams['MODELS_FILTER'] !== null)
{
$models_filter = array_merge($models_filter, $arParams['MODELS_FILTER']);
}
$models_res = CIBlockElement::GetList([ "NAME" => "ASC" ], $models_filter, false, []); $models_res = CIBlockElement::GetList([ "NAME" => "ASC" ], $models_filter, false, []);
while ($models_ob_element = $models_res->GetNextElement()) while ($models_ob_element = $models_res->GetNextElement())
{ {

View File

@ -411,80 +411,109 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$arResult['PAGE_CURRENT'] = $res->NavPageNomer; $arResult['PAGE_CURRENT'] = $res->NavPageNomer;
$arResult['PAGE_COUNT'] = $res->NavPageCount; $arResult['PAGE_COUNT'] = $res->NavPageCount;
if(!is_null($arParams['REGION'])) if(!isset($_REQUEST['ajax']))
{ {
if($arParams['REGION'] === "root") if(!is_null($arParams['REGION']))
{ {
$arResult['TITLE'] = "Лизинг в регионах России"; if($arParams['REGION'] === "root")
$arResult['SUBTITLE'] = " для юридических лиц и ИП"; {
$arResult['NAME'] = $arParams['NAME_REGIONS'];
$arResult['TITLE'] = "Лизинг в регионах России";
$arResult['SUBTITLE'] = " для юридических лиц и ИП";
$APPLICATION->SetPageProperty("title", "Лизинг в регионах России для юридических лиц и ИП | Эволюция"); $APPLICATION->SetPageProperty("title", $arParams['TITLE_REGIONS']);
$APPLICATION->SetPageProperty("description", "Лизинговая компания Эволюция предлагает быстрое оформление авто в лизинг в регионах России для юридических лиц и ИП. Выгодные цены, спецпредложения, простое оформление, консультирование и сопровождение."); $APPLICATION->SetPageProperty("description", $arParams['DESCRIPTION_REGIONS']);
$APPLICATION->SetPageProperty("keywords", "Лизинг в России, лизинг в регионах России"); $APPLICATION->SetPageProperty("keywords", $arParams['KEYWORDS_REGIONS']);
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/regions/"/>'); $APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/regions/"/>');
}
else
{
//IBLOCK_ID_CITIES
$res_city = CIBlockElement::GetList([], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_CITIES, "CODE" => $arParams['REGION'] ], false, []);
while ($city_element = $res_city->GetNextElement())
{
$ar_city = $city_element->GetFields();
$ar_city['PROPERTIES'] = $city_element->GetProperties();
$ar_city['PROPERTIES']['OFFICES']['RELATED'] = get_related_array(IBLOCK_ID_CONTACTS, $ar_city['PROPERTIES']['OFFICES']['VALUE']);
if(isset($ar_city['PROPERTIES']['OFFICES']['RELATED'][0]))
{
$ar_city['LEADER_CRM_ID'] = $ar_city['PROPERTIES']['LEADER_CRM_ID']['VALUE'];
}
$arResult['CITY'] = $ar_city;
array_unshift($breadcrumbs, [
"NAME" => $ar_city['NAME'],
"URL" => "https://".SITE_SERVER_NAME."/regions/".$ar_city['CODE']."/",
]);
array_unshift($canonical, $ar_city['CODE']);
if(!empty($arResult['SELECTED']['MODEL']))
{
$arResult['NAME'] = strtr($arParams['NAME_MODEL_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%MODEL" => $arResult['TITLES']['MODEL'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'], ]);
$APPLICATION->SetPageProperty("title", strtr($arParams['TITLE_MODEL_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%MODEL" => $arResult['TITLES']['MODEL'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
$APPLICATION->SetPageProperty("description", strtr($arParams['DESCRIPTION_MODEL_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%MODEL" => $arResult['TITLES']['MODEL'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
$APPLICATION->SetPageProperty("keywords", strtr($arParams['KEYWORDS_MODEL_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%MODEL" => $arResult['TITLES']['MODEL'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
}
elseif(!empty($arResult['SELECTED']['BRAND']))
{
$arResult['NAME'] = strtr($arParams['NAME_BRAND_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]);
$APPLICATION->SetPageProperty("title", strtr($arParams['TITLE_BRAND_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
$APPLICATION->SetPageProperty("description", strtr($arParams['DESCRIPTION_BRAND_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
$APPLICATION->SetPageProperty("keywords", strtr($arParams['KEYWORDS_BRAND_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
}
else
{
$arResult['NAME'] = $arParams['NAME_CITY'];
$APPLICATION->SetPageProperty("title", strtr($arParams['TITLE_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
$APPLICATION->SetPageProperty("description", strtr($arParams['DESCRIPTION_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
$APPLICATION->SetPageProperty("keywords", strtr($arParams['KEYWORDS_CITY'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%CITY" => $ar_city['PROPERTIES']['CASE']['VALUE'] ]));
}
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/regions/'.implode("/", $canonical).(count($canonical) > 0 ? "/" : "").'"/>');
}
if(!isset($ar_city))
{
define('ERROR_404', 'Y');
}
}
} }
else else
{ {
//IBLOCK_ID_CITIES if(!empty($arResult['SELECTED']['MODEL']))
$res_city = CIBlockElement::GetList([], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_CITIES, "CODE" => $arParams['REGION'] ], false, []);
while ($city_element = $res_city->GetNextElement())
{ {
$ar_city = $city_element->GetFields(); $arResult['NAME'] = strtr($arParams['NAME_MODEL'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%MODEL" => $arResult['TITLES']['MODEL'], ]);
$ar_city['PROPERTIES'] = $city_element->GetProperties(); $APPLICATION->SetPageProperty("title", strtr($arParams['TITLE_MODEL'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%MODEL" => $arResult['TITLES']['MODEL'], ]));
$APPLICATION->SetPageProperty("description", strtr($arParams['DESCRIPTION_MODEL'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%MODEL" => $arResult['TITLES']['MODEL'], ]));
$ar_city['PROPERTIES']['OFFICES']['RELATED'] = get_related_array(IBLOCK_ID_CONTACTS, $ar_city['PROPERTIES']['OFFICES']['VALUE']); $APPLICATION->SetPageProperty("keywords", strtr($arParams['KEYWORDS_MODEL'], [ "%BRAND" => $arResult['TITLES']['BRAND'], "%MODEL" => $arResult['TITLES']['MODEL'], ]));
}
if(isset($ar_city['PROPERTIES']['OFFICES']['RELATED'][0])) elseif(!empty($arResult['SELECTED']['BRAND']))
{ {
$ar_city['LEADER_CRM_ID'] = $ar_city['PROPERTIES']['LEADER_CRM_ID']['VALUE']; $arResult['NAME'] = strtr($arParams['NAME_BRAND'], [ "%BRAND" => $arResult['TITLES']['BRAND'], ]);
} $APPLICATION->SetPageProperty("title", strtr($arParams['TITLE_BRAND'], [ "%BRAND" => $arResult['TITLES']['BRAND'], ]));
$APPLICATION->SetPageProperty("description", strtr($arParams['DESCRIPTION_BRAND'], [ "%BRAND" => $arResult['TITLES']['BRAND'], ]));
$arResult['CITY'] = $ar_city; $APPLICATION->SetPageProperty("keywords", strtr($arParams['KEYWORDS_BRAND'], [ "%BRAND" => $arResult['TITLES']['BRAND'], ]));
}
array_unshift($breadcrumbs, [ else
"NAME" => $ar_city['NAME'], {
"URL" => "https://".SITE_SERVER_NAME."/regions/".$ar_city['CODE']."/", $arResult['NAME'] = $arParams['NAME'];
]); $APPLICATION->SetPageProperty("title", strtr($arParams['TITLE'], [ "%BRAND" => $arResult['TITLES']['BRAND'], ]));
$APPLICATION->SetPageProperty("description", strtr($arParams['DESCRIPTION'], [ "%BRAND" => $arResult['TITLES']['BRAND'], ]));
array_unshift($canonical, $ar_city['CODE']); $APPLICATION->SetPageProperty("keywords", strtr($arParams['KEYWORDS'], [ "%BRAND" => $arResult['TITLES']['BRAND'], ]));
if(!empty($arResult['SELECTED']['MODEL']))
{
$APPLICATION->SetPageProperty("title", $arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг для юридических лиц и ИП | Эволюция");
$APPLICATION->SetPageProperty("description", "Новые автомобили ".$arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг для юридических лиц и ИП. Вы можете купить ".$arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.");
$APPLICATION->SetPageProperty("keywords", $arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." ".$ar_city['NAME']." в лизинг, купить ".$arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." ".$ar_city['NAME']." в лизинг");
}
elseif(!empty($arResult['SELECTED']['BRAND']))
{
$APPLICATION->SetPageProperty("title", $arResult['TITLES']['BRAND']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг для юридических лиц и ИП | Эволюция");
$APPLICATION->SetPageProperty("description", "Новые автомобили ".$arResult['TITLES']['BRAND']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг для юридических лиц и ИП. Вы можете купить ".$arResult['TITLES']['BRAND']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.");
$APPLICATION->SetPageProperty("keywords", $arResult['TITLES']['BRAND']." ".$ar_city['NAME']." в лизинг, купить ".$arResult['TITLES']['BRAND']." ".$ar_city['NAME']." в лизинг");
}
else
{
$APPLICATION->SetPageProperty("title", "Лизинг в ".$ar_city['PROPERTIES']['CASE']['VALUE']." для юридических лиц и ИП | Эволюция");
$APPLICATION->SetPageProperty("description", "Лизинговая компания Эволюция предлагает быстрое оформление авто в лизинг в ".$ar_city['PROPERTIES']['CASE']['VALUE']." для юридических лиц и ИП. Выгодные цены, спецпредложения, простое оформление, консультирование и сопровождение.");
$APPLICATION->SetPageProperty("keywords", "Лизинг в ".$ar_city['PROPERTIES']['CASE']['VALUE'].", лизинг авто ".$ar_city['NAME'].", купить машину в лизинг ".$ar_city['NAME']."");
}
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/regions/'.implode("/", $canonical).(count($canonical) > 0 ? "/" : "").'"/>');
} }
if(!isset($ar_city)) if(!isset($arParams['PROGRAM']))
{ {
define('ERROR_404', 'Y'); $APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/catalog/'.implode("/", $canonical).(count($canonical) > 0 ? "/" : "").'"/>');
} }
} }
} }
else
{
if(!isset($arParams['PROGRAM']))
{
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/catalog/'.implode("/", $canonical).(count($canonical) > 0 ? "/" : "").'"/>');
}
}
if($arResult['MODEL_DISABLED']) if($arResult['MODEL_DISABLED'])
{ {

View File

@ -12,6 +12,7 @@
/** @var CBitrixComponent $component */ /** @var CBitrixComponent $component */
$this->setFrameMode(true); $this->setFrameMode(true);
$program_title = "";
$title = ""; $title = "";
$subtitle = ""; $subtitle = "";
@ -38,28 +39,29 @@ if(!empty($arParams['REGION']) && $arParams['REGION'] !== "root")
} }
else else
{ {
$title = "Новые автомобили";
if(!empty($arResult['TITLES']['BRAND'])) if(!empty($arResult['TITLES']['BRAND']))
{ {
$title .= "Новые автомобили ".$arResult['TITLES']['BRAND']; $title .= " ".$arResult['TITLES']['BRAND'];
if(!empty($arResult['TITLES']['MODEL'])) if(!empty($arResult['TITLES']['MODEL']))
{ {
$title = $arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']; $title .= " ".$arResult['TITLES']['MODEL'];
} }
$subtitle = " в лизинг для юридических лиц и ИП";
} }
} }
if(!empty($arResult['TITLE'])) $subtitle = " в лизинг для юридических лиц и ИП";
{ //if(!empty($arResult['TITLE']))
$title = $arResult['TITLE']; //{
} // $title = $arResult['TITLE'];
//}
if(!empty($arResult['SUBTITLE'])) //if(!empty($arResult['SUBTITLE']))
{ //{
$subtitle = $arResult['SUBTITLE']; // $subtitle = $arResult['SUBTITLE'];
} //}
?> ?>
<script> <script>
@ -72,16 +74,47 @@ if(!empty($arResult['SUBTITLE']))
<style> <style>
main {overflow-x: unset;} main {overflow-x: unset;}
</style> </style>
<section data-page="leasing_special">
<div class="container">
<h1 class="section_title"><?= $arResult['NAME']; ?></h1>
<?
$APPLICATION->IncludeComponent(
"evolution:programs.offers.banners",
"",
Array(
"BANNERS" => $arParams['BANNERS'],
"PAGINATION" => "N",
)
);
?>
</div>
</section>
<div class="clear"></div>
<? if(is_array($arParams['OFFERS']) && count($arParams['OFFERS']) > 0): ?>
<section class="gray">
<div class="container">
<h2>Лизинговые предложения</h2>
<div class="leasing_offers_list">
<? foreach($arParams['OFFERS'] AS $OFFER): ?>
<div class="offer_item">
<?= $OFFER['TEXT']; ?>
</div>
<? endforeach; ?>
</div>
</div>
</section>
<? endif; ?>
<section data-page="catalog" id="catalog"> <section data-page="catalog" id="catalog">
<div class="container"> <div class="container">
<div id="view"></div> <div id="view"></div>
<div class="pageWithSide"> <div class="pageWithSide">
<div class="leftColumn"> <div class="leftColumn">
<? if($arParams['PROGRAM'] !== "" && !is_null($arParams['PROGRAM'])): ?> <h2 class="section_title_with_em"><em><?= !empty($title) ? $title : "Новые автомобили в лизинг"; ?></em><?= $subtitle !== "" ? "<br>".$subtitle : ""; ?></h2>
<h2 class="section_title_with_em"><em><?= !empty($title) ? $title : "Новые автомобили в лизинг"; ?></em><?= $subtitle !== "" ? "<br>".$subtitle : ""; ?></h2>
<? else: ?>
<h1 class="section_title_with_em"><em><?= !empty($title) ? $title : "Новые автомобили в лизинг"; ?></em><?= $subtitle !== "" ? "<br>".$subtitle : ""; ?></h1>
<? endif; ?>
<div class="special_detail"> <div class="special_detail">
<? if(!$arParams['top_banners']): ?> <? if(!$arParams['top_banners']): ?>
<? else: ?> <? else: ?>
@ -265,7 +298,7 @@ if(!empty($arResult['SUBTITLE']))
"TITLE" => "Каталог автомобилей", "TITLE" => "Каталог автомобилей",
"SORT" => $arParams['SORT'], "SORT" => $arParams['SORT'],
"FILTER" => $arResult['FILTER_SMALL'], "FILTER" => $arResult['FILTER_SMALL'],
"BRANDS_FILTER" => ["PROPERTY_TAXI_VALUE" => "Да"], "BRANDS_FILTER" => [ "PROPERTY_TAXI_VALUE" => "Да" ],
) )
); ?> ); ?>
<? endif; ?> <? endif; ?>
@ -278,6 +311,7 @@ if(!empty($arResult['SUBTITLE']))
"BRAND" => $_REQUEST['BRAND'], "BRAND" => $_REQUEST['BRAND'],
"RECOMMENDED" => true, "RECOMMENDED" => true,
"REGIONS" => !is_null($arParams['REGION']) ? true : false, "REGIONS" => !is_null($arParams['REGION']) ? true : false,
"MODELS_FILTER" => [ "PROPERTY_TAXI_VALUE" => "Да" ],
) )
); ?> ); ?>
<? endif; ?> <? endif; ?>

View File

@ -59,12 +59,13 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
if(empty($ar_res['NAME'])) { define('ERROR_404', 'Y'); } if(empty($ar_res['NAME'])) { define('ERROR_404', 'Y'); }
else else
{ {
$APPLICATION->AddChainItem($ar_res["NAME"]); $APPLICATION->AddChainItem($ar_res["NAME"], "/programs/lizing-taksi/");
$APPLICATION->SetPageProperty("title", $arParams['TITLE']); $APPLICATION->SetPageProperty("title", $arParams['TITLE']);
$APPLICATION->SetPageProperty("description", $arParams['DESCRIPTION']); $APPLICATION->SetPageProperty("description", $arParams['DESCRIPTION']);
$APPLICATION->SetPageProperty("keywords", $arParams['KEYWORDS']); $APPLICATION->SetPageProperty("keywords", $arParams['KEYWORDS']);
$arResult['NAME'] = "Такси в лизинг";
$APPLICATION->AddHeadString('<link rel="canonical" href="'.$ar_res['CANONICAL_PAGE_URL'].'"/>'); $APPLICATION->AddHeadString('<link rel="canonical" href="'.$ar_res['CANONICAL_PAGE_URL'].'"/>');
} }

View File

@ -12,43 +12,12 @@
/** @var CBitrixComponent $component */ /** @var CBitrixComponent $component */
$this->setFrameMode(true); $this->setFrameMode(true);
?> ?>
<section data-page="leasing_special">
<div class="container">
<h1 class="section_title"><?= $arResult['NAME']; ?></h1>
<?
$APPLICATION->IncludeComponent(
"evolution:programs.offers.banners",
"",
Array(
"BANNERS" => $arResult['PROPERTIES']['SPECIAL_OFFERS_BANNERS']['VALUE'],
"PAGINATION" => "N",
)
);
?>
</div>
</section>
<div class="clear"></div>
<? if(is_array($arResult['PROPERTIES']['OFFERS']['~VALUE']) && count($arResult['PROPERTIES']['OFFERS']['~VALUE']) > 0): ?>
<section class="gray">
<div class="container">
<h2>Лизинговые предложения</h2>
<div class="leasing_offers_list">
<? foreach($arResult['PROPERTIES']['OFFERS']['~VALUE'] AS $OFFER): ?>
<div class="offer_item">
<?= $OFFER['TEXT']; ?>
</div>
<? endforeach; ?>
</div>
</div>
</section>
<? endif; ?>
<? if($arResult['PROPERTIES']['CATALOG']['VALUE_XML_ID'] != ""): ?> <? if($arResult['PROPERTIES']['CATALOG']['VALUE_XML_ID'] != ""): ?>
<? <?
$APPLICATION->IncludeComponent( $APPLICATION->IncludeComponent(
"evolution:catalog.program", "evolution:catalog.program",
isset($_REQUEST['ajax']) ? "ajax" : "", isset($_REQUEST['ajax']) ? "ajax" : "",
array( array_merge([
"PAGINATION" => "Y", "PAGINATION" => "Y",
"leasing_program" => $arResult['PROPERTIES']['CATALOG']['VALUE_XML_ID'], "leasing_program" => $arResult['PROPERTIES']['CATALOG']['VALUE_XML_ID'],
//"section_code" => $arResult['DETAIL_PAGE_URL'], //"section_code" => $arResult['DETAIL_PAGE_URL'],
@ -68,7 +37,9 @@ $this->setFrameMode(true);
"SORT" => $_REQUEST['SORT'], "SORT" => $_REQUEST['SORT'],
"PATH" => $arResult['DETAIL_PAGE_URL'], "PATH" => $arResult['DETAIL_PAGE_URL'],
"PROGRAM" => $arResult['PROPERTIES']['CATALOG']['VALUE_XML_ID'], "PROGRAM" => $arResult['PROPERTIES']['CATALOG']['VALUE_XML_ID'],
) "BANNERS" => $arResult['PROPERTIES']['SPECIAL_OFFERS_BANNERS']['VALUE'],
"OFFERS" => $arResult['PROPERTIES']['OFFERS']['~VALUE'],
], $arParams)
); );
?> ?>
<? endif; ?> <? endif; ?>

View File

@ -57,6 +57,20 @@ $bitrix_enabled_bodies = [];
$bitrix_existed_engine_fuels = []; $bitrix_existed_engine_fuels = [];
$bitrix_enabled_engine_fuels = []; $bitrix_enabled_engine_fuels = [];
$flags = [];
$properties = CIBlockPropertyEnum::GetList([ "sort" => "asc", "name" => "asc" ], [ "IBLOCK_ID" => IBLOCK_ID_BRANDS, "CODE" => "TAXI" ]);
while ($prop_fields = $properties->GetNext())
{
$flags[ 'BRANDS_TAXI' ][ $prop_fields['XML_ID'] ] = $prop_fields["ID"];
}
$properties = CIBlockPropertyEnum::GetList([ "sort" => "asc", "name" => "asc" ], [ "IBLOCK_ID" => IBLOCK_ID_MODELS, "CODE" => "TAXI" ]);
while ($prop_fields = $properties->GetNext())
{
$flags[ 'MODELS_TAXI' ][ $prop_fields['XML_ID'] ] = $prop_fields["ID"];
}
$all_brands_search_res = CIBlockElement::GetList( [], [ "IBLOCK_ID" => IBLOCK_ID_BRANDS, "ACTIVE" => "Y" ], false, false, [] ); $all_brands_search_res = CIBlockElement::GetList( [], [ "IBLOCK_ID" => IBLOCK_ID_BRANDS, "ACTIVE" => "Y" ], false, false, [] );
while($all_brands_search_ob = $all_brands_search_res->GetNextElement()) while($all_brands_search_ob = $all_brands_search_res->GetNextElement())
{ {
@ -630,6 +644,9 @@ foreach($json AS $car)
$car_codes = []; $car_codes = [];
$taxi_brands = [];
$taxi_models = [];
$c = 0; $c = 0;
foreach($json AS $car) foreach($json AS $car)
{ {
@ -649,6 +666,18 @@ foreach($json AS $car)
//print "new car --- uid ".$car['uid']." | code ".$code."\n"; //print "new car --- uid ".$car['uid']." | code ".$code."\n";
if(is_array($car['programms']) && !in_array("taxi", $car['programms']))
{
$taxi_bodies_list = ["лифтбек", "кроссовер", "седан", "хэтчбек", "внедорожник", "универсал", "минивэн"];
if(in_array($car['body'], $taxi_bodies_list))
{
array_push($car['programms'], "taxi");
array_push($taxi_brands, $bitrix_brands[ $car['brand']['id'] ]);
array_push($taxi_models, $bitrix_models[ $car['model']['id'] ]);
}
}
$PROPERTY_VALUES = [ $PROPERTY_VALUES = [
"UID" => $car['uid'], "UID" => $car['uid'],
"BRAND" => $bitrix_brands[ $car['brand']['id'] ], "BRAND" => $bitrix_brands[ $car['brand']['id'] ],
@ -742,6 +771,26 @@ foreach($json AS $car)
} }
} }
$taxi_brands = array_unique($taxi_brands);
$taxi_models = array_unique($taxi_models);
foreach($taxi_brands AS $taxi_brand_id)
{
CIBlockElement::SetPropertyValuesEx($taxi_brand_id, IBLOCK_ID_BRANDS, [ "TAXI" => $flags['BRANDS_TAXI']['YES'] ], []);
}
foreach($taxi_models AS $taxi_model_id)
{
CIBlockElement::SetPropertyValuesEx($taxi_model_id, IBLOCK_ID_MODELS, [ "TAXI" => $flags['MODELS_TAXI']['YES'] ], []);
}
print "\n------------------------------\n";
print "\ntaxi_brands\n";
print_r($taxi_brands);
print "\ntaxi_models\n";
print_r($taxi_models);
print "\n------------------------------\n";
//print "car_codes?\n"; //print "car_codes?\n";
/* /*
foreach($car_codes AS $cc => $count) foreach($car_codes AS $cc => $count)
@ -1939,6 +1988,11 @@ while($sitemap_all_models_search_ob = $sitemap_all_models_search_res->GetNextEle
$model = $sitemap_all_models_search_ob->GetFields(); $model = $sitemap_all_models_search_ob->GetFields();
$model['PROPERTIES'] = $sitemap_all_models_search_ob->GetProperties(); $model['PROPERTIES'] = $sitemap_all_models_search_ob->GetProperties();
if(!is_array($sitemap_catalog[$model['PROPERTY_BRAND_UID_VALUE']]['MODELS']))
{
$sitemap_catalog[$model['PROPERTY_BRAND_UID_VALUE']]['MODELS'] = [];
}
array_push($sitemap_catalog[$model['PROPERTY_BRAND_UID_VALUE']]['MODELS'], $model); array_push($sitemap_catalog[$model['PROPERTY_BRAND_UID_VALUE']]['MODELS'], $model);
} }

View File

@ -15,7 +15,55 @@ require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
"evolution:leasing.programs.taxi", "evolution:leasing.programs.taxi",
"", "",
Array( Array(
"CODE" => $_REQUEST['PROGRAM'] "CODE" => $_REQUEST['PROGRAM'],
"NAME" => "Такси в лизинг",
"NAME_REGIONS" => "Такси в лизинг в регионах России",
"NAME_CITY" => "Такси в лизинг %CITY",
"TITLE" => "Такси в лизинг для юридических лиц и ИП в Москве - купить новый автомобиль в лизинг | Эволюция",
"TITLE_REGIONS" => "Такси в лизинг для юридических лиц и ИП в регионах России - купить новый автомобиль в лизинг | Эволюция",
"TITLE_CITY" => "Такси в лизинг для юридических лиц и ИП в %CITY - купить новый автомобиль в лизинг | Эволюция",
"DESCRIPTION" => "Новые автомобили для такси в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"DESCRIPTION_REGIONS" => "Новые автомобили для такси в лизинг для юридических лиц и ИП в %CITY и в других регионах России. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"DESCRIPTION_CITY" => "Новые автомобили для такси в лизинг для юридических лиц и ИП в регионах России. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"KEYWORDS" => "Такси в лизинг, купить такси в лизинг",
"KEYWORDS_REGIONS" => "Такси в лизинг, купить такси в лизинг в %CITY",
"KEYWORDS_CITY" => "Такси в лизинг, купить такси в лизинг в регионах России",
"NAME_BRAND" => "%BRAND для такси в лизинг",
"NAME_BRAND_REGIONS" => "%BRAND для такси в лизинг в регионах России",
"NAME_BRAND_CITY" => "%BRAND для такси в лизинг в %CITY",
"TITLE_BRAND" => "%BRAND для такси в лизинг для юридических лиц и ИП в Москве | Эволюция",
"TITLE_BRAND_REGIONS" => "%BRAND для такси в лизинг для юридических лиц и ИП в регионах России | Эволюция",
"TITLE_BRAND_CITY" => "%BRAND для такси в лизинг для юридических лиц и ИП в %CITY | Эволюция",
"DESCRIPTION_BRAND" => "Новые автомобили %BRAND для такси в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"DESCRIPTION_BRAND_REGIONS" => "Новые автомобили %BRAND для такси в лизинг для юридических лиц и ИП в регионах России. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"DESCRIPTION_BRAND_CITY" => "Новые автомобили %BRAND для такси в лизинг для юридических лиц и ИП в %CITY. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"KEYWORDS_BRAND" => "%BRAND для такси в лизинг, купить %BRAND для такси в лизинг",
"KEYWORDS_BRAND_REGIONS" => "%BRAND для такси в лизинг, купить %BRAND для такси в лизинг в регионах России",
"KEYWORDS_BRAND_CITY" => "%BRAND для такси в лизинг, купить %BRAND для такси в лизинг в %CITY",
"NAME_MODEL" => "%BRAND %MODEL для такси в лизинг",
"NAME_MODEL_REGIONS" => "%BRAND %MODEL для такси в лизинг в регионах России",
"NAME_MODEL_CITY" => "%BRAND %MODEL для такси в лизинг в %CITY",
"TITLE_MODEL" => "%BRAND %MODEL для такси в лизинг для юридических лиц и ИП в Москве | Эволюция",
"TITLE_MODEL_REGIONS" => "%BRAND %MODEL для такси в лизинг для юридических лиц и ИП в регионах России | Эволюция",
"TITLE_MODEL_CITY" => "%BRAND %MODEL для такси в лизинг для юридических лиц и ИП в %CITY | Эволюция",
"DESCRIPTION_MODEL" => "%BRAND %MODEL для такси в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"DESCRIPTION_MODEL_REGIONS" => "%BRAND %MODEL для такси в лизинг для юридических лиц и ИП в регионах России. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"DESCRIPTION_MODEL_CITY" => "%BRAND %MODEL для такси в лизинг для юридических лиц и ИП в %CITY. Вы можете купить автомобиль в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.",
"KEYWORDS_MODEL" => "%BRAND %MODEL для такси в лизинг, купить %BRAND %MODEL для такси в лизинг",
"KEYWORDS_MODEL_REGIONS" => "%BRAND %MODEL для такси в лизинг, купить %BRAND %MODEL для такси в лизинг в регионах России",
"KEYWORDS_MODEL_CITY" => "%BRAND %MODEL для такси в лизинг, купить %BRAND %MODEL для такси в лизинг в %CITY",
) )
); );
?> ?>

View File

@ -98,22 +98,29 @@ $arUrlRewrite=array (
'PATH' => '/programs/cargo/index.php', 'PATH' => '/programs/cargo/index.php',
'SORT' => 5, 'SORT' => 5,
), ),
array ( array (
'CONDITION' => '#^/programs/taxi/([a-zA-Z0-9_-]+)/page-([0-9]+)/\\??.*$#', 'CONDITION' => '#^/programs/lizing-taksi/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/page-([0-9]+)/\\??.*$#',
'RULE' => 'PROGRAM=lizing-taksi&BRAND=$1&PAGEN_1=$2', 'RULE' => 'PROGRAM=lizing-taksi&BRAND=$1&MODEL=$2&PAGEN_1=$3',
'ID' => '', 'ID' => '',
'PATH' => '/programs/custom.php', 'PATH' => '/programs/custom.php',
'SORT' => 5, 'SORT' => 5,
), ),
array ( array (
'CONDITION' => '#^/programs/taxi/([a-zA-Z0-9_-]+)/\\??.*$#', 'CONDITION' => '#^/programs/lizing-taksi/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/\\??.*$#',
'RULE' => 'PROGRAM=lizing-taksi&BRAND=$1&MODEL=$2',
'ID' => '',
'PATH' => '/programs/custom.php',
'SORT' => 5,
),
array (
'CONDITION' => '#^/programs/lizing-taksi/([a-zA-Z0-9_-]+)/\\??.*$#',
'RULE' => 'PROGRAM=lizing-taksi&BRAND=$1', 'RULE' => 'PROGRAM=lizing-taksi&BRAND=$1',
'ID' => '', 'ID' => '',
'PATH' => '/programs/custom.php', 'PATH' => '/programs/custom.php',
'SORT' => 5, 'SORT' => 5,
), ),
array ( array (
'CONDITION' => '#^/programs/taxi/\\??.*$#', 'CONDITION' => '#^/programs/lizing-taksi/\\??.*$#',
'RULE' => 'PROGRAM=lizing-taksi', 'RULE' => 'PROGRAM=lizing-taksi',
'ID' => '', 'ID' => '',
'PATH' => '/programs/custom.php', 'PATH' => '/programs/custom.php',