Merge branch 'development'
@ -1,39 +1,46 @@
|
|||||||
<?
|
<?
|
||||||
$aMenuLinks = Array(
|
$aMenuLinks = Array(
|
||||||
Array(
|
|
||||||
"Программы",
|
|
||||||
"/programs/",
|
|
||||||
Array(),
|
|
||||||
Array(),
|
|
||||||
""
|
|
||||||
),
|
|
||||||
Array(
|
|
||||||
"Спецпредложения",
|
|
||||||
"/special/",
|
|
||||||
Array(),
|
|
||||||
Array(),
|
|
||||||
""
|
|
||||||
),
|
|
||||||
Array(
|
|
||||||
"Сервисы",
|
|
||||||
"/services/",
|
|
||||||
Array(),
|
|
||||||
Array(),
|
|
||||||
""
|
|
||||||
),
|
|
||||||
Array(
|
|
||||||
"Каталог автомобилей",
|
|
||||||
"/catalog/",
|
|
||||||
Array(),
|
|
||||||
Array(),
|
|
||||||
""
|
|
||||||
),
|
|
||||||
Array(
|
Array(
|
||||||
"О компании",
|
"О компании",
|
||||||
"/about/",
|
"/about/",
|
||||||
Array(),
|
Array(),
|
||||||
Array(),
|
Array(),
|
||||||
""
|
""
|
||||||
)
|
),
|
||||||
|
Array(
|
||||||
|
"Каталог автомобилей",
|
||||||
|
"/catalog/",
|
||||||
|
Array(),
|
||||||
|
Array(),
|
||||||
|
""
|
||||||
|
),
|
||||||
|
Array(
|
||||||
|
"Спецпредложения",
|
||||||
|
"/special/",
|
||||||
|
Array(),
|
||||||
|
Array(),
|
||||||
|
""
|
||||||
|
),
|
||||||
|
Array(
|
||||||
|
"Программы",
|
||||||
|
"/programs/",
|
||||||
|
Array(),
|
||||||
|
Array(),
|
||||||
|
""
|
||||||
|
),
|
||||||
|
Array(
|
||||||
|
"Сервисы",
|
||||||
|
"/services/",
|
||||||
|
Array(),
|
||||||
|
Array(),
|
||||||
|
""
|
||||||
|
),
|
||||||
|
Array(
|
||||||
|
"Контакты",
|
||||||
|
"/about/contacts/",
|
||||||
|
Array(),
|
||||||
|
Array(),
|
||||||
|
""
|
||||||
|
),
|
||||||
);
|
);
|
||||||
?>
|
?>
|
||||||
@ -1,6 +1,16 @@
|
|||||||
<?
|
<?
|
||||||
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
||||||
$APPLICATION->SetTitle("Эволюция автолизинга: Карьера");
|
$APPLICATION->SetTitle("Эволюция автолизинга: Карьера");
|
||||||
|
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/about/career/"/>');
|
||||||
|
?>
|
||||||
|
<?
|
||||||
|
$APPLICATION->IncludeComponent("bitrix:breadcrumb", "evolution", Array(
|
||||||
|
"PATH" => "", // Путь, для которого будет построена навигационная цепочка (по умолчанию, текущий путь)
|
||||||
|
"SITE_ID" => "s1", // Cайт (устанавливается в случае многосайтовой версии, когда DOCUMENT_ROOT у сайтов разный)
|
||||||
|
"START_FROM" => "0", // Номер пункта, начиная с которого будет построена навигационная цепочка
|
||||||
|
),
|
||||||
|
false
|
||||||
|
);
|
||||||
?>
|
?>
|
||||||
<?
|
<?
|
||||||
$APPLICATION->IncludeComponent(
|
$APPLICATION->IncludeComponent(
|
||||||
|
|||||||
@ -2,6 +2,15 @@
|
|||||||
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
||||||
$APPLICATION->SetTitle("Эволюция автолизинга: Контакты");
|
$APPLICATION->SetTitle("Эволюция автолизинга: Контакты");
|
||||||
?>
|
?>
|
||||||
|
<?
|
||||||
|
$APPLICATION->IncludeComponent("bitrix:breadcrumb", "evolution", Array(
|
||||||
|
"PATH" => "", // Путь, для которого будет построена навигационная цепочка (по умолчанию, текущий путь)
|
||||||
|
"SITE_ID" => "s1", // Cайт (устанавливается в случае многосайтовой версии, когда DOCUMENT_ROOT у сайтов разный)
|
||||||
|
"START_FROM" => "0", // Номер пункта, начиная с которого будет построена навигационная цепочка
|
||||||
|
),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
?>
|
||||||
<?
|
<?
|
||||||
$APPLICATION->IncludeComponent(
|
$APPLICATION->IncludeComponent(
|
||||||
"evolution:about.contacts.list",
|
"evolution:about.contacts.list",
|
||||||
|
|||||||
@ -3,6 +3,16 @@ require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
|||||||
$APPLICATION->SetPageProperty("keywords", "Эволюция Автолизинга, о компании Эволюция Автолизинга, история развития Эволюция Автолизинга, достижения компании Эволюция Автолизинга");
|
$APPLICATION->SetPageProperty("keywords", "Эволюция Автолизинга, о компании Эволюция Автолизинга, история развития Эволюция Автолизинга, достижения компании Эволюция Автолизинга");
|
||||||
$APPLICATION->SetPageProperty("description", "Эволюция – самая динамично развивающаяся автолизинговая компания России. Благодаря огромному опыту в лизинге и лучшим практикам на рынке, за год работы вошли в Топ 10 лизинговых компаний.");
|
$APPLICATION->SetPageProperty("description", "Эволюция – самая динамично развивающаяся автолизинговая компания России. Благодаря огромному опыту в лизинге и лучшим практикам на рынке, за год работы вошли в Топ 10 лизинговых компаний.");
|
||||||
$APPLICATION->SetTitle("Эволюция Автолизинга: история развития и достижения компании");
|
$APPLICATION->SetTitle("Эволюция Автолизинга: история развития и достижения компании");
|
||||||
|
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/about/"/>');
|
||||||
|
?>
|
||||||
|
<?
|
||||||
|
$APPLICATION->IncludeComponent("bitrix:breadcrumb", "evolution", Array(
|
||||||
|
"PATH" => "", // Путь, для которого будет построена навигационная цепочка (по умолчанию, текущий путь)
|
||||||
|
"SITE_ID" => "s1", // Cайт (устанавливается в случае многосайтовой версии, когда DOCUMENT_ROOT у сайтов разный)
|
||||||
|
"START_FROM" => "0", // Номер пункта, начиная с которого будет построена навигационная цепочка
|
||||||
|
),
|
||||||
|
false
|
||||||
|
);
|
||||||
?>
|
?>
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
<section>
|
<section>
|
||||||
|
|||||||
@ -1,6 +1,16 @@
|
|||||||
<?
|
<?
|
||||||
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
||||||
$APPLICATION->SetTitle("Эволюция автолизинга: Новости");
|
$APPLICATION->SetTitle("Эволюция автолизинга: Новости");
|
||||||
|
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/about/news/"/>');
|
||||||
|
?>
|
||||||
|
<?
|
||||||
|
$APPLICATION->IncludeComponent("bitrix:breadcrumb", "evolution", Array(
|
||||||
|
"PATH" => "", // Путь, для которого будет построена навигационная цепочка (по умолчанию, текущий путь)
|
||||||
|
"SITE_ID" => "s1", // Cайт (устанавливается в случае многосайтовой версии, когда DOCUMENT_ROOT у сайтов разный)
|
||||||
|
"START_FROM" => "0", // Номер пункта, начиная с которого будет построена навигационная цепочка
|
||||||
|
),
|
||||||
|
false
|
||||||
|
);
|
||||||
?>
|
?>
|
||||||
<?
|
<?
|
||||||
$APPLICATION->IncludeComponent(
|
$APPLICATION->IncludeComponent(
|
||||||
|
|||||||
@ -1,7 +1,17 @@
|
|||||||
<?
|
<?
|
||||||
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
||||||
$APPLICATION->SetTitle("Эволюция автолизинга: Реквизиты");
|
$APPLICATION->SetTitle("Эволюция автолизинга: Реквизиты");
|
||||||
?><section data-page="about">
|
?>
|
||||||
|
<?
|
||||||
|
$APPLICATION->IncludeComponent("bitrix:breadcrumb", "evolution", Array(
|
||||||
|
"PATH" => "", // Путь, для которого будет построена навигационная цепочка (по умолчанию, текущий путь)
|
||||||
|
"SITE_ID" => "s1", // Cайт (устанавливается в случае многосайтовой версии, когда DOCUMENT_ROOT у сайтов разный)
|
||||||
|
"START_FROM" => "0", // Номер пункта, начиная с которого будет построена навигационная цепочка
|
||||||
|
),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
<section data-page="about">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 class="section_title">Реквизиты</h1>
|
<h1 class="section_title">Реквизиты</h1>
|
||||||
<div class="aside_container about">
|
<div class="aside_container about">
|
||||||
|
|||||||
@ -2,6 +2,15 @@
|
|||||||
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
||||||
$APPLICATION->SetTitle("Эволюция автолизинга: Отзыв доверенностей");
|
$APPLICATION->SetTitle("Эволюция автолизинга: Отзыв доверенностей");
|
||||||
?>
|
?>
|
||||||
|
<?
|
||||||
|
$APPLICATION->IncludeComponent("bitrix:breadcrumb", "evolution", Array(
|
||||||
|
"PATH" => "", // Путь, для которого будет построена навигационная цепочка (по умолчанию, текущий путь)
|
||||||
|
"SITE_ID" => "s1", // Cайт (устанавливается в случае многосайтовой версии, когда DOCUMENT_ROOT у сайтов разный)
|
||||||
|
"START_FROM" => "0", // Номер пункта, начиная с которого будет построена навигационная цепочка
|
||||||
|
),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
?>
|
||||||
<section data-page="about">
|
<section data-page="about">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 class="section_title">Отзыв доверенностей</h1>
|
<h1 class="section_title">Отзыв доверенностей</h1>
|
||||||
|
|||||||
@ -2,6 +2,15 @@
|
|||||||
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
||||||
$APPLICATION->SetTitle("Эволюция автолизинга: Общие условия договора лизинга");
|
$APPLICATION->SetTitle("Эволюция автолизинга: Общие условия договора лизинга");
|
||||||
?>
|
?>
|
||||||
|
<?
|
||||||
|
$APPLICATION->IncludeComponent("bitrix:breadcrumb", "evolution", Array(
|
||||||
|
"PATH" => "/about/rules/", // Путь, для которого будет построена навигационная цепочка (по умолчанию, текущий путь)
|
||||||
|
"SITE_ID" => "s1", // Cайт (устанавливается в случае многосайтовой версии, когда DOCUMENT_ROOT у сайтов разный)
|
||||||
|
"START_FROM" => "0", // Номер пункта, начиная с которого будет построена навигационная цепочка
|
||||||
|
),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
?>
|
||||||
<?
|
<?
|
||||||
$APPLICATION->IncludeComponent(
|
$APPLICATION->IncludeComponent(
|
||||||
"evolution:about.rules",
|
"evolution:about.rules",
|
||||||
|
|||||||
588
api/index.php
@ -1,5 +1,4 @@
|
|||||||
<?
|
<?
|
||||||
//define('BX_SECURITY_SESSION_VIRTUAL', true);
|
|
||||||
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
header('Content-Type: application/json; charset=utf-8');
|
||||||
|
|
||||||
@ -26,7 +25,6 @@ $ORIGINS = [
|
|||||||
'https://lk.evoleasing.ru',
|
'https://lk.evoleasing.ru',
|
||||||
];
|
];
|
||||||
|
|
||||||
//$referer = $HEADERS['Referer'] ? $HEADERS['Referer'] : $HEADERS['referer'];
|
|
||||||
$origin = $HEADERS['Origin'] ? $HEADERS['Origin'] : $HEADERS['origin'];
|
$origin = $HEADERS['Origin'] ? $HEADERS['Origin'] : $HEADERS['origin'];
|
||||||
if($origin == "")
|
if($origin == "")
|
||||||
{
|
{
|
||||||
@ -43,10 +41,6 @@ if($origin == "")
|
|||||||
if(in_array($origin, $ORIGINS))
|
if(in_array($origin, $ORIGINS))
|
||||||
{
|
{
|
||||||
header('Access-Control-Allow-Origin: ' . $origin);
|
header('Access-Control-Allow-Origin: ' . $origin);
|
||||||
// $HEADERS['X-Full-Url-From-Referer'] = str_replace($origin, "", $referer);
|
|
||||||
// if ($HEADERS['X-Full-Url-From-Referer'] == "") {
|
|
||||||
// $HEADERS['X-Full-Url-From-Referer'] = "/";
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
|
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
|
||||||
@ -55,9 +49,6 @@ header('Pragma: no-cache');
|
|||||||
header('Cache-Control: no-cache');
|
header('Cache-Control: no-cache');
|
||||||
header('Access-Control-Allow-Credentials: true');
|
header('Access-Control-Allow-Credentials: true');
|
||||||
|
|
||||||
//print_r(json_encode($_SERVER));
|
|
||||||
//die();
|
|
||||||
|
|
||||||
$arrContextOptions = [
|
$arrContextOptions = [
|
||||||
"ssl" => [
|
"ssl" => [
|
||||||
"verify_peer" => false,
|
"verify_peer" => false,
|
||||||
@ -68,12 +59,7 @@ $arrContextOptions = [
|
|||||||
$secret = "YnFN1EcbB4osQyKx53OoMs0seHcIcoUVv2mCQOleHdn9o07bIniM5TreQNvQtgsQo6zWxsxLNFbSBrywjmerU5VnKZVQD1EGVcO";
|
$secret = "YnFN1EcbB4osQyKx53OoMs0seHcIcoUVv2mCQOleHdn9o07bIniM5TreQNvQtgsQo6zWxsxLNFbSBrywjmerU5VnKZVQD1EGVcO";
|
||||||
$secret_crm = "lk_evolution_the_best_leasing_company_of_the_world_sSOvumhogyAtZydpaITb";
|
$secret_crm = "lk_evolution_the_best_leasing_company_of_the_world_sSOvumhogyAtZydpaITb";
|
||||||
|
|
||||||
//$token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImNybSJ9.WxzNiB4W5kwqZoy6-kenc1X6Q7XDCVjGraux9rU9zro";
|
|
||||||
//print \Bitrix\Main\Web\JWT::encode(["username" => "crm"], $secret, 'HS256', $keyId = null, $head = null);
|
|
||||||
//die();
|
|
||||||
|
|
||||||
$auth = [];
|
$auth = [];
|
||||||
//$token = "";
|
|
||||||
|
|
||||||
use Bitrix\Main\Context,
|
use Bitrix\Main\Context,
|
||||||
Bitrix\Main\Type\DateTime,
|
Bitrix\Main\Type\DateTime,
|
||||||
@ -178,9 +164,6 @@ function getUsersForCompany($code)
|
|||||||
$company_record['PROPERTIES'] = $company_element->GetProperties();
|
$company_record['PROPERTIES'] = $company_element->GetProperties();
|
||||||
$user = [];
|
$user = [];
|
||||||
|
|
||||||
//print_r($company_record);
|
|
||||||
//die();
|
|
||||||
|
|
||||||
foreach($company_record['PROPERTIES']['USERS']['VALUE'] AS $user_id)
|
foreach($company_record['PROPERTIES']['USERS']['VALUE'] AS $user_id)
|
||||||
{
|
{
|
||||||
$user_res = \CUser::GetList(["ID" => "ASC"], false, [ "ID" => $user_id ], []);
|
$user_res = \CUser::GetList(["ID" => "ASC"], false, [ "ID" => $user_id ], []);
|
||||||
@ -194,21 +177,6 @@ function getUsersForCompany($code)
|
|||||||
"companies" => $companies,
|
"companies" => $companies,
|
||||||
"is_admin" => in_array($user_element['ID'], $company_record['PROPERTIES']['ADMINS']['VALUE']),
|
"is_admin" => in_array($user_element['ID'], $company_record['PROPERTIES']['ADMINS']['VALUE']),
|
||||||
];
|
];
|
||||||
///print_r($user_element);
|
|
||||||
//$rs_user = \CUser::GetByLogin($user_element['LOGIN']);
|
|
||||||
//$ar_user = $rs_user->Fetch();
|
|
||||||
|
|
||||||
//array_push($existed_accounts, $existed_user['XML_ID']);
|
|
||||||
|
|
||||||
/*
|
|
||||||
foreach($company_record['PROPERTIES']['ADMINS']['VALUE'] AS $k => $v)
|
|
||||||
{
|
|
||||||
if($v == $user_id)
|
|
||||||
{
|
|
||||||
$company['is_admin'] = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
array_push($users, $user);
|
array_push($users, $user);
|
||||||
}
|
}
|
||||||
@ -302,11 +270,6 @@ if($_SERVER['REMOTE_USER'] && strpos($_SERVER['REMOTE_USER'], "Bearer") > -1)
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
$auth = (array) \Bitrix\Main\Web\JWT::decode($token, $secret, ["HS256"]);
|
$auth = (array) \Bitrix\Main\Web\JWT::decode($token, $secret, ["HS256"]);
|
||||||
//print json_encode([
|
|
||||||
// "status" => "success",
|
|
||||||
// "token" => $auth['username'],
|
|
||||||
//]);
|
|
||||||
//die();
|
|
||||||
}
|
}
|
||||||
catch(\Exception $e)
|
catch(\Exception $e)
|
||||||
{
|
{
|
||||||
@ -423,6 +386,55 @@ switch($PARAM_1)
|
|||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$user_properties = [
|
||||||
|
'COMPANY' => $REQ['org_title'],
|
||||||
|
'INN' => (string)$REQ['inn'],
|
||||||
|
'KPP' => (string)$REQ['kpp'],
|
||||||
|
'OGRN' => (string)$REQ['ogrn'],
|
||||||
|
'ADMINS' => [ $ID ],
|
||||||
|
'USERS' => [ $ID ],
|
||||||
|
];
|
||||||
|
|
||||||
|
$ar_new_client = [
|
||||||
|
'IBLOCK_ID' => IBLOCK_ID_CLIENTS,
|
||||||
|
'NAME' => $REQ['org_title'],
|
||||||
|
'CODE' => $REQ['crm_id'],
|
||||||
|
'PROPERTY_VALUES' => $user_properties,
|
||||||
|
'ACTIVE' => 'Y', // активен
|
||||||
|
];
|
||||||
|
|
||||||
|
$new_client = new CIBlockElement;
|
||||||
|
if($new_client_id = $new_client->Add($ar_new_client))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$existed_client_res = CIBlockElement::GetList([ 'id' => 'desc' ], [ 'IBLOCK_ID' => IBLOCK_ID_CLIENTS, 'CODE' => $REQ['crm_id'] ], false, []);
|
||||||
|
while ($existed_client_element = $existed_client_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$existed_client_record = $existed_client_element->GetFields();
|
||||||
|
$existed_client_record['PROPERTIES'] = $existed_client_element->GetProperties();
|
||||||
|
|
||||||
|
$admins = $existed_client_record['PROPERTIES']['ADMINS']['VALUE'];
|
||||||
|
$users = $existed_client_record['PROPERTIES']['USERS']['VALUE'];
|
||||||
|
|
||||||
|
array_push($admins, $ID);
|
||||||
|
array_push($users, $ID);
|
||||||
|
|
||||||
|
$admins = array_unique($admins);
|
||||||
|
$users = array_unique($users);
|
||||||
|
|
||||||
|
$updated_fields = [
|
||||||
|
'PROPERTY_VALUES' => [
|
||||||
|
'ADMINS' => $admins,
|
||||||
|
'USERS' => $users,
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
CIBlockElement::SetPropertyValuesEx($existed_client_record['ID'], IBLOCK_ID_CLIENTS, [ 'ADMINS' => $admins, 'USERS' => $users, ]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
print json_encode([
|
print json_encode([
|
||||||
"status" => "success"
|
"status" => "success"
|
||||||
]);
|
]);
|
||||||
@ -563,15 +575,6 @@ switch($PARAM_1)
|
|||||||
)
|
)
|
||||||
]);
|
]);
|
||||||
|
|
||||||
//"PASSWORD" => $REQ['password'],
|
|
||||||
//"CONFIRM_PASSWORD" => $REQ['password'],
|
|
||||||
|
|
||||||
//print json_encode([
|
|
||||||
// "status" => "error",
|
|
||||||
// "error" => "company_already_registered",
|
|
||||||
// "message" => "Company already registered",
|
|
||||||
//]);
|
|
||||||
|
|
||||||
print json_encode([
|
print json_encode([
|
||||||
"status" => "success"
|
"status" => "success"
|
||||||
]);
|
]);
|
||||||
@ -581,7 +584,6 @@ switch($PARAM_1)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
//new company
|
//new company
|
||||||
//setCompanyForUser($user_registered_id, $REQ);
|
|
||||||
|
|
||||||
print json_encode([
|
print json_encode([
|
||||||
"status" => "error",
|
"status" => "error",
|
||||||
@ -599,7 +601,6 @@ switch($PARAM_1)
|
|||||||
if($company_registered_id !== null)
|
if($company_registered_id !== null)
|
||||||
{
|
{
|
||||||
//existed company
|
//existed company
|
||||||
//THIS!
|
|
||||||
|
|
||||||
$profile["PASSWORD"] = $REQ['password'];
|
$profile["PASSWORD"] = $REQ['password'];
|
||||||
$profile["CONFIRM_PASSWORD"] = $REQ['password'];
|
$profile["CONFIRM_PASSWORD"] = $REQ['password'];
|
||||||
@ -653,37 +654,6 @@ switch($PARAM_1)
|
|||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* *******************************
|
|
||||||
\Bitrix\Main\Mail\Event::send([
|
|
||||||
"EVENT_NAME" => "USER_INFO",
|
|
||||||
"LID" => "s1",
|
|
||||||
"C_FIELDS" => Array(
|
|
||||||
"EMAIL" => $REQ['email'],
|
|
||||||
"ORG_NAME" => (string)$REQ['org_title'],
|
|
||||||
"LOGIN" => $REQ['email'],
|
|
||||||
"PASS" => $REQ['password'],
|
|
||||||
)
|
|
||||||
]);
|
|
||||||
|
|
||||||
if($user->LAST_ERROR)
|
|
||||||
{
|
|
||||||
print json_encode([
|
|
||||||
"status" => "error",
|
|
||||||
"error" => "wrong_payload",
|
|
||||||
"message" => $user->LAST_ERROR,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print json_encode([
|
|
||||||
"status" => "success"
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
die();
|
|
||||||
******************************* */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -792,6 +762,110 @@ switch($PARAM_1)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "check":
|
||||||
|
{
|
||||||
|
if(CModule::IncludeModule('iblock'))
|
||||||
|
{
|
||||||
|
if(checkRequestIsLocal())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$user_registered = false;
|
||||||
|
$ar_user;
|
||||||
|
|
||||||
|
$existed_accounts = [];
|
||||||
|
$auth = (array) \Bitrix\Main\Web\JWT::decode($REQ['token'], $secret_crm, ["HS256"]);
|
||||||
|
|
||||||
|
$default_admin_id;
|
||||||
|
|
||||||
|
$existed_client_as_admin_res = CIBlockElement::GetList([ 'ID' => 'ASC' ], [ 'IBLOCK_ID' => IBLOCK_ID_CLIENTS, 'CODE' => $auth['acc_number'] ], false, []);
|
||||||
|
while ($existed_client_as_admin_element = $existed_client_as_admin_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$existed_client_as_admin_record = $existed_client_as_admin_element->GetFields();
|
||||||
|
$existed_client_as_admin_record['PROPERTIES'] = $existed_client_as_admin_element->GetProperties();
|
||||||
|
$default_admin_id = $existed_client_as_admin_record['PROPERTIES']['ADMINS']['VALUE'][0];
|
||||||
|
$user_registered = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$existed_users_res = \CUser::GetList(["ID" => "ASC"], false, [ "ID" => $default_admin_id ], []);
|
||||||
|
while($existed_user = $existed_users_res->Fetch())
|
||||||
|
{
|
||||||
|
$rs_user = \CUser::GetByLogin($existed_user['LOGIN']);
|
||||||
|
$ar_user = $rs_user->Fetch();
|
||||||
|
|
||||||
|
array_push($existed_accounts, $existed_user['XML_ID']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($REQ['filter']))
|
||||||
|
{
|
||||||
|
if(!in_array($auth['acc_number'], $existed_accounts))
|
||||||
|
{
|
||||||
|
print json_encode([
|
||||||
|
"status" => "error",
|
||||||
|
"error" => "access_denied",
|
||||||
|
]);
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($user_registered)
|
||||||
|
{
|
||||||
|
$user_data = [
|
||||||
|
"email" => $ar_user['LOGIN'],
|
||||||
|
"name" => $ar_user['NAME'],
|
||||||
|
"secondname" => $ar_user['SECOND_NAME'],
|
||||||
|
"lastname" => $ar_user['LAST_NAME'],
|
||||||
|
"phone" => $ar_user['UF_PHONE_NUMBER'],
|
||||||
|
"phone_verified" => $ar_user['UF_PHONE_VERIFIED'],
|
||||||
|
];
|
||||||
|
|
||||||
|
$companies = getCompaniesForUser($ar_user['ID']);
|
||||||
|
$company_data = [
|
||||||
|
"inn" => $companies[0]['inn'],
|
||||||
|
"kpp" => $companies[0]['kpp'],
|
||||||
|
"ogrn" => $companies[0]['ogrn'],
|
||||||
|
"title" => $companies[0]['title'],
|
||||||
|
];
|
||||||
|
|
||||||
|
print json_encode([
|
||||||
|
"status" => "success",
|
||||||
|
"user" => $user_data,
|
||||||
|
"company" => $company_data,
|
||||||
|
"companies" => $companies,
|
||||||
|
"token" => \Bitrix\Main\Web\JWT::encode([ "acc_number" => $auth['acc_number'], "is_admin" => $companies[0]['is_admin'], "login" => $ar_user['LOGIN'], "companies" => $companies ], $secret, 'HS256', null, null),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print json_encode([
|
||||||
|
"status" => "error",
|
||||||
|
"error" => "unknown account",
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
catch(\Exception $e)
|
||||||
|
{
|
||||||
|
print json_encode([
|
||||||
|
"status" => "error",
|
||||||
|
"error" => "wrong_jwt",
|
||||||
|
"message" => $e->getMessage(),
|
||||||
|
]);
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print json_encode([
|
||||||
|
"status" => "error",
|
||||||
|
"error" => "wrong_source",
|
||||||
|
"error" => "Wrong source",
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
print json_encode([
|
print json_encode([
|
||||||
@ -1027,9 +1101,6 @@ switch($PARAM_1)
|
|||||||
if(count($user_companies) === 0)
|
if(count($user_companies) === 0)
|
||||||
{
|
{
|
||||||
\CUser::Delete($removed_user_id);
|
\CUser::Delete($removed_user_id);
|
||||||
|
|
||||||
//$user = new CUser;
|
|
||||||
//$user->Update($removed_user_id, [ "BLOCKED" => "Y" ]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1107,28 +1178,58 @@ switch($PARAM_1)
|
|||||||
$drive = [];
|
$drive = [];
|
||||||
$body = [];
|
$body = [];
|
||||||
$fuel = [];
|
$fuel = [];
|
||||||
|
$volume = [];
|
||||||
|
|
||||||
$iterator = CIBlockElement::GetPropertyValues( 1, $filter, true, [ 'ID' => [ 7, 8, 9, 12 ] ] );
|
$filter_props_ids = [];
|
||||||
|
|
||||||
|
if(empty($REQ['GEAR'])) { array_push($filter_props_ids, 7); }
|
||||||
|
if(empty($REQ['DRIVE'])) { array_push($filter_props_ids, 8); }
|
||||||
|
if(empty($REQ['BODY'])) { array_push($filter_props_ids, 9); }
|
||||||
|
if(empty($REQ['ENGINE_FUEL'])) { array_push($filter_props_ids, 12); }
|
||||||
|
if(empty($REQ['ENGINE_VOLUME_FROM']) && empty($REQ['ENGINE_VOLUME_TO'])) { array_push($filter_props_ids, 11); }
|
||||||
|
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( 1, $filter, true, [ 'ID' => [ 7, 8, 9, 11, 12 ] ] );
|
||||||
while ($row = $iterator->Fetch())
|
while ($row = $iterator->Fetch())
|
||||||
{
|
{
|
||||||
//print_r($row);
|
if(empty($REQ['GEAR'])) { array_push($gear, $row[7]); }
|
||||||
array_push($gear, $row[7]);
|
if(empty($REQ['DRIVE'])) { array_push($drive, $row[8]); }
|
||||||
array_push($drive, $row[8]);
|
if(empty($REQ['BODY'])) { array_push($body, $row[9]); }
|
||||||
array_push($body, $row[9]);
|
if(empty($REQ['ENGINE_FUEL'])) { array_push($fuel, $row[12]); }
|
||||||
array_push($fuel, $row[12]);
|
if(empty($REQ['ENGINE_VOLUME_FROM']) && empty($REQ['ENGINE_VOLUME_TO'])) { array_push($volume, $row[11]); }
|
||||||
}
|
}
|
||||||
$gear = array_unique($gear);
|
|
||||||
$drive = array_unique($drive);
|
|
||||||
$body = array_unique($body);
|
|
||||||
$fuel = array_unique($fuel);
|
|
||||||
|
|
||||||
print json_encode([
|
$gear = array_values(array_unique($gear));
|
||||||
|
$drive = array_values(array_unique($drive));
|
||||||
|
$body = array_values(array_unique($body));
|
||||||
|
$fuel = array_values(array_unique($fuel));
|
||||||
|
$volume = array_values(array_unique($volume));
|
||||||
|
sort($volume);
|
||||||
|
|
||||||
|
$volumes = [];
|
||||||
|
$min = floor($volume[0] / 100) * 100;
|
||||||
|
$max = (floor($volume[count($volume)-1] / 100) + 1) * 100;
|
||||||
|
|
||||||
|
while($min <= $max)
|
||||||
|
{
|
||||||
|
if($min > 0)
|
||||||
|
{
|
||||||
|
array_push($volumes, $min);
|
||||||
|
}
|
||||||
|
|
||||||
|
$min = $min + 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = [
|
||||||
"total" => $total,
|
"total" => $total,
|
||||||
"gear" => $gear,
|
];
|
||||||
"drive" => $drive,
|
|
||||||
"body" => $body,
|
if(empty($REQ['GEAR'])) { $result["gears"] = $gear; }
|
||||||
"fuel" => $fuel,
|
if(empty($REQ['DRIVE'])) { $result["drives"] = $drive; }
|
||||||
]);
|
if(empty($REQ['BODY'])) { $result["bodies"] = $body; }
|
||||||
|
if(empty($REQ['ENGINE_FUEL'])) { $result["engine_fuels"] = $fuel; }
|
||||||
|
if(empty($REQ['ENGINE_VOLUME_FROM']) && empty($REQ['ENGINE_VOLUME_TO'])) { $result["engine_volumes"] = $volumes; }
|
||||||
|
|
||||||
|
print json_encode($result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1210,6 +1311,261 @@ switch($PARAM_1)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "parameters":
|
case "parameters":
|
||||||
|
{
|
||||||
|
if(CModule::IncludeModule('iblock'))
|
||||||
|
{
|
||||||
|
$filter = [ "ACTIVE" => "Y", ];
|
||||||
|
|
||||||
|
if(!empty($REQ['PROGRAM'])) { $filter['PROPERTY_LEASING_PROGRAMS'] = $REQ['PROGRAM']; }
|
||||||
|
|
||||||
|
if(!empty($REQ['BRAND_ID'])) { $filter["PROPERTY_BRAND"] = $REQ['BRAND_ID']; }
|
||||||
|
if(!empty($REQ['MODEL_ID'])) { $filter["PROPERTY_MODEL"] = $REQ['MODEL_ID']; }
|
||||||
|
if(!empty($REQ['MODIFICATION'])) { $filter["PROPERTY_MODIFICATION"] = $REQ['MODIFICATION']; }
|
||||||
|
|
||||||
|
if(!empty($REQ['GEAR'])) { $filter["PROPERTY_GEAR"] = $REQ['GEAR']; }
|
||||||
|
if(!empty($REQ['DRIVE'])) { $filter["PROPERTY_DRIVE"] = $REQ['DRIVE']; }
|
||||||
|
if(!empty($REQ['BODY'])) { $filter["PROPERTY_BODY"] = $REQ['BODY']; }
|
||||||
|
if(!empty($REQ['ENGINE_FUEL'])) { $filter["PROPERTY_ENGINE_FUEL"] = $REQ['ENGINE_FUEL']; }
|
||||||
|
|
||||||
|
if(!empty($REQ['ENGINE_VOLUME_FROM']) || !empty($REQ['ENGINE_VOLUME_TO']))
|
||||||
|
{
|
||||||
|
$filter['><PROPERTY_ENGINE_VOLUME'] = [ !empty($REQ['ENGINE_VOLUME_FROM']) ? $REQ['ENGINE_VOLUME_FROM'] : 0, !empty($REQ['ENGINE_VOLUME_TO']) ? $REQ['ENGINE_VOLUME_TO'] : 10000 ];
|
||||||
|
}
|
||||||
|
|
||||||
|
$total = CIBlockElement::GetList([ "SORT" => "ASC", "NAME" => "ASC" ], array_merge([ "IBLOCK_ID" => IBLOCK_ID_CATALOG_CARS_NEW ], $filter), [], []);
|
||||||
|
$result = [
|
||||||
|
"total" => $total,
|
||||||
|
"possible_volumes" => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
$brands = [];
|
||||||
|
$models = [];
|
||||||
|
$modifications = [];
|
||||||
|
|
||||||
|
$gears = [];
|
||||||
|
$drives = [];
|
||||||
|
$bodies = [];
|
||||||
|
$engine_fuels = [];
|
||||||
|
$engine_volumes = [];
|
||||||
|
|
||||||
|
$filter_props_ids = [];
|
||||||
|
|
||||||
|
array_push($filter_props_ids, 3);
|
||||||
|
if(!empty($REQ['BRAND_ID'])) { array_push($filter_props_ids, 4); }
|
||||||
|
array_push($filter_props_ids, 7);
|
||||||
|
array_push($filter_props_ids, 8);
|
||||||
|
array_push($filter_props_ids, 9);
|
||||||
|
array_push($filter_props_ids, 12);
|
||||||
|
//if(empty($REQ['ENGINE_VOLUME_FROM']) || empty($REQ['ENGINE_VOLUME_TO'])) { array_push($filter_props_ids, 11); }
|
||||||
|
|
||||||
|
$result['filter'] = $filter;
|
||||||
|
|
||||||
|
//filter for brands
|
||||||
|
$filter_brands = $filter;
|
||||||
|
unset($filter_brands['PROPERTY_BRAND']);
|
||||||
|
|
||||||
|
$brands_ids = [];
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter_brands, true, [ 'ID' => [ 3 ] ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
array_push($brands_ids, $row[ 3 ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$brands_ids = array_values(array_unique($brands_ids));
|
||||||
|
|
||||||
|
$brands_res = CIBlockElement::GetList(["NAME" => "ASC"], array_merge([ "IBLOCK_ID" => IBLOCK_ID_BRANDS ], [ "ID" => $brands_ids ]), false, []);
|
||||||
|
while ($brands_ob_element = $brands_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$brands_ar_res = $brands_ob_element->GetFields();
|
||||||
|
$brands_ar_res['PROPERTIES'] = $brands_ob_element->GetProperties();
|
||||||
|
|
||||||
|
array_push($brands, [
|
||||||
|
"id" => $brands_ar_res['ID'],
|
||||||
|
"value" => $brands_ar_res['CODE'],
|
||||||
|
"text" => $brands_ar_res['NAME'],
|
||||||
|
"uid" => $brands_ar_res['PROPERTIES']['UID']['VALUE'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//filter for models
|
||||||
|
if(!empty($REQ['BRAND_ID']))
|
||||||
|
{
|
||||||
|
$filter_models = $filter;
|
||||||
|
unset($filter_models['PROPERTY_MODEL']);
|
||||||
|
|
||||||
|
$models_ids = [];
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter_models, true, [ 'ID' => [ 4 ] ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
array_push($models_ids, $row[ 4 ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$models_ids = array_values(array_unique($models_ids));
|
||||||
|
|
||||||
|
$models_res = CIBlockElement::GetList(["NAME" => "ASC"], array_merge([ "IBLOCK_ID" => IBLOCK_ID_MODELS ], [ "ID" => $models_ids ]), false, []);
|
||||||
|
while ($models_ob_element = $models_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$models_ar_res = $models_ob_element->GetFields();
|
||||||
|
$models_ar_res['PROPERTIES'] = $models_ob_element->GetProperties();
|
||||||
|
|
||||||
|
array_push($models, [
|
||||||
|
"id" => $models_ar_res['ID'],
|
||||||
|
"value" => $models_ar_res['CODE'],
|
||||||
|
"text" => $models_ar_res['NAME'],
|
||||||
|
"uid" => $models_ar_res['PROPERTIES']['UID']['VALUE'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//filter for modifications
|
||||||
|
if(!empty($REQ['MODEL_ID']))
|
||||||
|
{
|
||||||
|
$filter_modifications = $filter;
|
||||||
|
unset($filter_modifications['PROPERTY_MODIFICATION']);
|
||||||
|
|
||||||
|
$modifications_ids = [];
|
||||||
|
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter_modifications, true, [ 'ID' => [ 5 ] ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
array_push($modifications_ids, $row[ 5 ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$modifications_ids = array_values(array_unique($modifications_ids));
|
||||||
|
|
||||||
|
$modifications_res = CIBlockElement::GetList(["NAME" => "ASC"], array_merge([ "IBLOCK_ID" => IBLOCK_ID_MODIFICATIONS ], [ "ID" => $modifications_ids ]), false, []);
|
||||||
|
while ($modifications_ob_element = $modifications_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$modifications_ar_res = $modifications_ob_element->GetFields();
|
||||||
|
|
||||||
|
array_push($modifications, [
|
||||||
|
"id" => $modifications_ar_res['ID'],
|
||||||
|
"text" => $modifications_ar_res['NAME'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//filter for bodies
|
||||||
|
$filter_bodies = $filter;
|
||||||
|
unset($filter_bodies['PROPERTY_BODY']);
|
||||||
|
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter_bodies, true, [ 'ID' => [ 9 ] ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
array_push($bodies, $row[ 9 ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//filter for gears
|
||||||
|
$filter_gears = $filter;
|
||||||
|
unset($filter_gears['PROPERTY_GEAR']);
|
||||||
|
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter_gears, true, [ 'ID' => [ 7 ] ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
array_push($gears, $row[ 7 ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//filter for drives
|
||||||
|
$filter_drives = $filter;
|
||||||
|
unset($filter_drives['PROPERTY_DRIVE']);
|
||||||
|
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter_drives, true, [ 'ID' => [ 8 ] ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
array_push($drives, $row[ 8 ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//filter for engine fuels
|
||||||
|
$filter_engine_fuels = $filter;
|
||||||
|
unset($filter_engine_fuels['PROPERTY_ENGINE_FUEL']);
|
||||||
|
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter_engine_fuels, true, [ 'ID' => [ 12 ] ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
array_push($engine_fuels, $row[ 12 ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//filter for engine fuels
|
||||||
|
$filter_engine_volumes = $filter;
|
||||||
|
unset($filter_engine_volumes['><PROPERTY_ENGINE_VOLUME']);
|
||||||
|
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter_engine_volumes, true, [ 'ID' => [ 11 ] ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
if($row[ 11 ] != 0)
|
||||||
|
{
|
||||||
|
array_push($engine_volumes, $row[ 11 ]);
|
||||||
|
array_push($result["possible_volumes"], $row[ 11 ]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
$iterator = CIBlockElement::GetPropertyValues( IBLOCK_ID_CATALOG_CARS_NEW, $filter, true, [ 'ID' => $filter_props_ids ] );
|
||||||
|
while ($row = $iterator->Fetch())
|
||||||
|
{
|
||||||
|
if(!empty($REQ['BRAND_ID'])) { array_push($models, $row[4]); }
|
||||||
|
|
||||||
|
array_push($gear, $row[7]);
|
||||||
|
array_push($drive, $row[8]);
|
||||||
|
array_push($fuel, $row[12]);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
$result['filter2'] = array_merge($filter, [ "><PROPERTY_ENGINE_VOLUME" => [ 0, 10000 ]]);
|
||||||
|
|
||||||
|
$iterator_volume = CIBlockElement::GetPropertyValues( 1, array_merge($filter, [ "><PROPERTY_ENGINE_VOLUME" => [ 0, 10000 ]]), true, [ 'ID' => [ 11 ] ] );
|
||||||
|
while ($row = $iterator_volume->Fetch())
|
||||||
|
{
|
||||||
|
if($row[11] != 0)
|
||||||
|
{
|
||||||
|
array_push($volume, $row[11]);
|
||||||
|
array_push($result["vvv"], $row[11]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
//$models = array_values(array_unique($models));
|
||||||
|
|
||||||
|
$gears = array_values(array_unique($gears));
|
||||||
|
$drives = array_values(array_unique($drives));
|
||||||
|
$bodies = array_values(array_unique($bodies));
|
||||||
|
$engine_fuels = array_values(array_unique($engine_fuels));
|
||||||
|
$engine_volumes = array_values(array_unique($engine_volumes));
|
||||||
|
sort($engine_volumes);
|
||||||
|
|
||||||
|
$volumes = [];
|
||||||
|
$min = floor($engine_volumes[0] / 100) * 100;
|
||||||
|
$max = (floor($engine_volumes[count($engine_volumes)-1] / 100) + 1) * 100;
|
||||||
|
|
||||||
|
while($min <= $max)
|
||||||
|
{
|
||||||
|
if($min > 0)
|
||||||
|
{
|
||||||
|
array_push($volumes, $min);
|
||||||
|
}
|
||||||
|
|
||||||
|
$min = $min + 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
$result["brands"] = $brands;
|
||||||
|
$result["models"] = $models;
|
||||||
|
$result["modifications"] = $modifications;
|
||||||
|
|
||||||
|
$result["gears"] = $gears;
|
||||||
|
$result["drives"] = $drives;
|
||||||
|
$result["bodies"] = $bodies;
|
||||||
|
$result["engine_fuels"] = $engine_fuels;
|
||||||
|
//if(empty($REQ['ENGINE_VOLUME_FROM']) || empty($REQ['ENGINE_VOLUME_TO'])) {
|
||||||
|
$result["engine_volumes"] = $volumes;
|
||||||
|
//}
|
||||||
|
|
||||||
|
print json_encode($result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
/*
|
||||||
|
case "-arameters":
|
||||||
{
|
{
|
||||||
if(CModule::IncludeModule('iblock'))
|
if(CModule::IncludeModule('iblock'))
|
||||||
{
|
{
|
||||||
@ -1220,7 +1576,7 @@ switch($PARAM_1)
|
|||||||
$ENGINE_VOLUME = [];
|
$ENGINE_VOLUME = [];
|
||||||
$ENGINE_FUEL = [];
|
$ENGINE_FUEL = [];
|
||||||
|
|
||||||
$iterator = CIBlockElement::GetPropertyValues(1, ['ACTIVE' => 'Y', ], false, ['ID' => [ 7, 8, 9, 10, 11, 12, ] ]);
|
$iterator = CIBlockElement::GetPropertyValues(1, ['ACTIVE' => 'Y', ], false, ['ID' => [ 7, 8, 9, 10, 11, 12, ] ]);
|
||||||
while ($row = $iterator->Fetch())
|
while ($row = $iterator->Fetch())
|
||||||
{
|
{
|
||||||
if(!in_array($row[7], $GEAR)) { array_push($GEAR, $row[7]); }
|
if(!in_array($row[7], $GEAR)) { array_push($GEAR, $row[7]); }
|
||||||
@ -1246,6 +1602,7 @@ switch($PARAM_1)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
*/
|
||||||
|
|
||||||
case "reset":
|
case "reset":
|
||||||
{
|
{
|
||||||
@ -1661,19 +2018,6 @@ switch($PARAM_1)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
\Bitrix\Main\Mail\Event::send([
|
|
||||||
"EVENT_NAME" => "USER_INFO",
|
|
||||||
"LID" => "s1",
|
|
||||||
"C_FIELDS" => Array(
|
|
||||||
"EMAIL" => $REQ['email'],
|
|
||||||
"ORG_NAME" => $ar_user['UF_ORG_TITLE'],
|
|
||||||
"LOGIN" => $REQ['email'],
|
|
||||||
"PASS" => $REQ['password'],
|
|
||||||
)
|
|
||||||
]);
|
|
||||||
*/
|
|
||||||
|
|
||||||
print json_encode([
|
print json_encode([
|
||||||
"status" => "success",
|
"status" => "success",
|
||||||
]);
|
]);
|
||||||
@ -1988,12 +2332,6 @@ switch($PARAM_1)
|
|||||||
{
|
{
|
||||||
$auth = (array) \Bitrix\Main\Web\JWT::decode($token, $secret, ["HS256"]);
|
$auth = (array) \Bitrix\Main\Web\JWT::decode($token, $secret, ["HS256"]);
|
||||||
print_r($auth);
|
print_r($auth);
|
||||||
|
|
||||||
//print json_encode([
|
|
||||||
// "status" => "success",
|
|
||||||
// "token" => $auth['username'],
|
|
||||||
//]);
|
|
||||||
//die();
|
|
||||||
}
|
}
|
||||||
catch(\Exception $e)
|
catch(\Exception $e)
|
||||||
{
|
{
|
||||||
@ -2090,15 +2428,6 @@ switch($PARAM_1)
|
|||||||
$filter = ["ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_ACCOUNT_SUPPORT];
|
$filter = ["ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_ACCOUNT_SUPPORT];
|
||||||
$options = [];
|
$options = [];
|
||||||
|
|
||||||
/*
|
|
||||||
if(!empty($REQ['query']))
|
|
||||||
{
|
|
||||||
$filter['<DATE_ACTIVE_FROM'] = $REQ['date'];
|
|
||||||
$options['nPageSize'] = 1;
|
|
||||||
$sort["ACTIVE_FROM"] = "DESC";
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
$themes = [];
|
$themes = [];
|
||||||
$themes_res = CIBlockSection::GetList( [ "SORT" => "ASC" ], [ 'IBLOCK_ID' => IBLOCK_ID_ACCOUNT_SUPPORT, 'GLOBAL_ACTIVE' => 'Y', ], false, );
|
$themes_res = CIBlockSection::GetList( [ "SORT" => "ASC" ], [ 'IBLOCK_ID' => IBLOCK_ID_ACCOUNT_SUPPORT, 'GLOBAL_ACTIVE' => 'Y', ], false, );
|
||||||
while($theme_result = $themes_res->GetNext())
|
while($theme_result = $themes_res->GetNext())
|
||||||
@ -2211,10 +2540,7 @@ switch($PARAM_1)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "vizitka":
|
case "vizitka":
|
||||||
{
|
{
|
||||||
//define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/vizitka/tmp/log.txt");
|
|
||||||
//AddMessage2Log("_REQUEST['guid'] => ".$_REQUEST['guid'], "my_module_id");
|
|
||||||
|
|
||||||
$c = curl_init();
|
$c = curl_init();
|
||||||
curl_setopt($c, CURLOPT_URL, API_HOST."/site/GetUserBusinessCard/?guid=".$_REQUEST['guid']);
|
curl_setopt($c, CURLOPT_URL, API_HOST."/site/GetUserBusinessCard/?guid=".$_REQUEST['guid']);
|
||||||
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 30);
|
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 30);
|
||||||
|
|||||||
@ -1,13 +1,24 @@
|
|||||||
<?
|
<?
|
||||||
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
||||||
$APPLICATION->SetTitle("Каталог");
|
$APPLICATION->SetTitle("Новые автомобили в лизинг");
|
||||||
|
//$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/catalog/"/>');
|
||||||
|
?>
|
||||||
|
<?
|
||||||
|
$APPLICATION->IncludeComponent("bitrix:breadcrumb", "evolution", Array(
|
||||||
|
"PATH" => "", // Путь, для которого будет построена навигационная цепочка (по умолчанию, текущий путь)
|
||||||
|
"SITE_ID" => "s1", // Cайт (устанавливается в случае многосайтовой версии, когда DOCUMENT_ROOT у сайтов разный)
|
||||||
|
"START_FROM" => "0", // Номер пункта, начиная с которого будет построена навигационная цепочка
|
||||||
|
),
|
||||||
|
false
|
||||||
|
);
|
||||||
?>
|
?>
|
||||||
<?
|
<?
|
||||||
$APPLICATION->IncludeComponent(
|
$APPLICATION->IncludeComponent(
|
||||||
"evolution:catalog",
|
"evolution:catalog",
|
||||||
"",
|
isset($_REQUEST['ajax']) ? "ajax" : "",
|
||||||
array(
|
array(
|
||||||
"PAGINATION" => "Y",
|
"PAGINATION" => "Y",
|
||||||
|
"COUNT_PER_PAGE" => 12,
|
||||||
"BRAND" => $_REQUEST['BRAND'],
|
"BRAND" => $_REQUEST['BRAND'],
|
||||||
"MODEL" => $_REQUEST['MODEL'],
|
"MODEL" => $_REQUEST['MODEL'],
|
||||||
"MODIFICATION" => $_REQUEST['MODIFICATION'],
|
"MODIFICATION" => $_REQUEST['MODIFICATION'],
|
||||||
@ -25,6 +36,7 @@ $APPLICATION->SetTitle("Каталог");
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?
|
<?
|
||||||
$APPLICATION->IncludeComponent(
|
$APPLICATION->IncludeComponent(
|
||||||
"evolution:form.leasing",
|
"evolution:form.leasing",
|
||||||
|
|||||||
@ -1,6 +1,13 @@
|
|||||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<circle cx="16" cy="16" r="15.5" stroke="#0C0C0C"/>
|
<g clip-path="url(#clip0_1_31)">
|
||||||
|
<path d="M16 31.5C24.5604 31.5 31.5 24.5604 31.5 16C31.5 7.43959 24.5604 0.5 16 0.5C7.43959 0.5 0.5 7.43959 0.5 16C0.5 24.5604 7.43959 31.5 16 31.5Z" stroke="#0C0C0C"/>
|
||||||
|
<path d="M11.5097 17.9486C12.2228 19.4065 13.4046 20.583 14.8658 21.2895C14.9727 21.3401 15.091 21.3621 15.209 21.3532C15.3269 21.3442 15.4405 21.3047 15.5386 21.2386L17.6901 19.8039C17.7853 19.7405 17.8947 19.7017 18.0086 19.6913C18.1225 19.6808 18.2372 19.6989 18.3423 19.744L22.3674 21.469C22.5041 21.5271 22.6183 21.628 22.6927 21.7566C22.767 21.8852 22.7976 22.0345 22.7798 22.182C22.6525 23.1775 22.1668 24.0925 21.4135 24.7557C20.6603 25.4188 19.6911 25.7847 18.6875 25.7848C15.5878 25.7848 12.615 24.5534 10.4232 22.3616C8.23136 20.1697 7 17.197 7 14.0973C7.00005 13.0937 7.36592 12.1244 8.02909 11.3712C8.6923 10.6179 9.6073 10.1322 10.6028 10.005C10.7502 9.98711 10.8995 10.0177 11.0281 10.0921C11.1567 10.1664 11.2577 10.2806 11.3158 10.4173L13.0423 14.4459C13.0869 14.5501 13.1051 14.6638 13.0953 14.7767C13.0854 14.8896 13.0477 14.9984 12.9856 15.0932L11.5559 17.2777C11.4909 17.376 11.4524 17.4895 11.4443 17.6071C11.4362 17.7246 11.4587 17.8423 11.5097 17.9486Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
<path d="M18.7002 8.4375C19.8657 8.75095 20.9283 9.36513 21.7817 10.2185C22.6351 11.0719 23.2493 12.1346 23.5628 13.3001" stroke="#0C0C0C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
<path d="M18.7002 8.4375C19.8657 8.75095 20.9283 9.36513 21.7817 10.2185C22.6351 11.0719 23.2493 12.1346 23.5628 13.3001" stroke="#0C0C0C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
<path d="M17.9883 11.0947C18.6876 11.2828 19.3252 11.6513 19.8372 12.1633C20.3492 12.6754 20.7178 13.313 20.9058 14.0123" stroke="#0C0C0C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
<path d="M17.9883 11.0947C18.6876 11.2828 19.3252 11.6513 19.8372 12.1633C20.3492 12.6754 20.7178 13.313 20.9058 14.0123" stroke="#0C0C0C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
<path d="M12.9472 15.7259C13.6603 17.1838 14.8421 18.3603 16.3033 19.0668C16.4102 19.1174 16.5285 19.1394 16.6465 19.1305C16.7644 19.1215 16.878 19.082 16.9761 19.0159L19.1276 17.5812C19.2228 17.5178 19.3322 17.479 19.4461 17.4686C19.56 17.4581 19.6747 17.4762 19.7798 17.5213L23.8049 19.2463C23.9416 19.3044 24.0558 19.4053 24.1302 19.5339C24.2045 19.6625 24.2351 19.8118 24.2173 19.9593C24.09 20.9548 23.6043 21.8698 22.851 22.533C22.0978 23.1961 21.1286 23.562 20.125 23.5621C17.0253 23.5621 14.0525 22.3307 11.8607 20.1389C9.66886 17.947 8.4375 14.9743 8.4375 11.8746C8.43755 10.871 8.80342 9.90179 9.46659 9.14852C10.1298 8.39525 11.0448 7.90953 12.0403 7.78231C12.1877 7.76446 12.337 7.79503 12.4656 7.8694C12.5942 7.94377 12.6952 8.05792 12.7533 8.19466L14.4798 12.2232C14.5244 12.3274 14.5426 12.4411 14.5328 12.554C14.5229 12.6669 14.4852 12.7757 14.4231 12.8705L12.9934 15.055C12.9284 15.1533 12.8899 15.2668 12.8818 15.3844C12.8737 15.5019 12.8962 15.6196 12.9472 15.7259V15.7259Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1_31">
|
||||||
|
<rect width="32" height="32" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.8 KiB |
5
images/icons/icon-header-recall.svg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="16" cy="16" r="15.5" stroke="black"/>
|
||||||
|
<path d="M11.5097 17.9486C12.2228 19.4065 13.4046 20.583 14.8658 21.2895C14.9727 21.3401 15.091 21.3621 15.209 21.3532C15.3269 21.3442 15.4405 21.3047 15.5386 21.2386L17.6901 19.8039C17.7853 19.7405 17.8947 19.7017 18.0086 19.6913C18.1225 19.6808 18.2372 19.6989 18.3423 19.744L22.3674 21.469C22.5041 21.5271 22.6183 21.628 22.6927 21.7566C22.767 21.8852 22.7976 22.0345 22.7798 22.182C22.6525 23.1775 22.1668 24.0925 21.4135 24.7557C20.6603 25.4188 19.6911 25.7847 18.6875 25.7848C15.5878 25.7848 12.615 24.5534 10.4232 22.3616C8.23136 20.1697 7 17.197 7 14.0973C7.00005 13.0937 7.36592 12.1244 8.02909 11.3712C8.6923 10.6179 9.6073 10.1322 10.6028 10.005C10.7502 9.98711 10.8995 10.0177 11.0281 10.0921C11.1567 10.1664 11.2577 10.2806 11.3158 10.4173L13.0423 14.4459C13.0869 14.5501 13.1051 14.6638 13.0953 14.7767C13.0854 14.8896 13.0477 14.9984 12.9856 15.0932L11.5559 17.2777C11.4909 17.376 11.4524 17.4895 11.4443 17.6071C11.4362 17.7246 11.4587 17.8423 11.5097 17.9486Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M17.6832 7.33089L15.6311 9.38302L17.6884 11.4386L19.744 13.496L20.3588 12.8795L20.9753 12.2647L19.9711 11.2605L18.9669 10.2563H20.5998C21.5848 10.2563 22.2957 10.2632 22.39 10.2737C22.8615 10.3279 23.361 10.5357 23.7348 10.8378C24.4159 11.388 24.7862 12.2473 24.7076 13.0978C24.6045 14.219 23.8203 15.1342 22.7218 15.4154C22.4651 15.4817 22.2887 15.4957 21.7316 15.4957H21.2286V16.3707V17.2457L21.88 17.237C22.5996 17.2282 22.7183 17.216 23.148 17.1095C24.7198 16.7165 25.9371 15.4992 26.3353 13.9239C26.4331 13.5362 26.4575 13.3213 26.4575 12.876C26.4575 12.4306 26.4331 12.2158 26.3353 11.8281C26.124 10.988 25.6646 10.2213 25.0359 9.65198C24.4927 9.16121 23.8553 8.82065 23.148 8.64251C22.6415 8.51676 22.727 8.522 20.75 8.51501L18.9686 8.50803L19.9711 7.50554L20.9753 6.50131L20.3641 5.89004C20.0287 5.55472 19.7493 5.27877 19.744 5.27877C19.7388 5.27877 18.8114 6.20266 17.6832 7.33089Z" fill="#0C0C0C"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
BIN
images/man.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
images/manager.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
images/no_car_photo_380.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
images/no_image_380.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
images/no_image_650.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
images/programs_faq.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
@ -1,13 +1,14 @@
|
|||||||
<?
|
<?
|
||||||
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
|
||||||
$APPLICATION->SetTitle("Эволюция автолизинга. Лизинг автомобилей");
|
$APPLICATION->SetTitle("Лизинг для юридических лиц и ИП в Москве и других городах России | Лизинговая компания Эволюция");
|
||||||
|
$APPLICATION->SetPageProperty("description", "Лизинговая компания Эволюция предлагает быстрое оформление авто в лизинг для юридических лиц и ИП в Москве и других городах России. Выгодные цены, спецпредложения, простое оформление, консультирование и сопровождение.");
|
||||||
|
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/"/>');
|
||||||
?>
|
?>
|
||||||
<? $APPLICATION->IncludeComponent(
|
<? $APPLICATION->IncludeComponent(
|
||||||
"evolution:slider.main",
|
"evolution:slider.main",
|
||||||
"",
|
"",
|
||||||
Array()
|
Array()
|
||||||
); ?>
|
); ?>
|
||||||
|
|
||||||
<section id="filter">
|
<section id="filter">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<? $APPLICATION->IncludeComponent(
|
<? $APPLICATION->IncludeComponent(
|
||||||
@ -22,7 +23,6 @@ $APPLICATION->SetTitle("Эволюция автолизинга. Лизинг а
|
|||||||
); ?>
|
); ?>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<? $APPLICATION->IncludeComponent(
|
<? $APPLICATION->IncludeComponent(
|
||||||
"evolution:calculator",
|
"evolution:calculator",
|
||||||
"",
|
"",
|
||||||
|
|||||||
75
local/catalog_sitemap_generation.php
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
<?
|
||||||
|
//$_SERVER["DOCUMENT_ROOT"] = __DIR__;
|
||||||
|
define('STOP_STATISTICS', true);
|
||||||
|
define('NO_KEEP_STATISTIC', 'Y');
|
||||||
|
define('NO_AGENT_STATISTIC', 'Y');
|
||||||
|
define('DisableEventsCheck', true);
|
||||||
|
define('BX_SECURITY_SHOW_MESSAGE', true);
|
||||||
|
define('NOT_CHECK_PERMISSIONS', true);
|
||||||
|
|
||||||
|
$_SERVER['DOCUMENT_ROOT'] = dirname(__DIR__, 1);
|
||||||
|
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
|
||||||
|
CModule::IncludeModule('iblock');
|
||||||
|
|
||||||
|
$catalog = [];
|
||||||
|
|
||||||
|
$all_brands_search_res = CIBlockElement::GetList( [], [ "IBLOCK_ID" => 8, "ACTIVE" => "Y" ], false, false, [ "CODE", "PROPERTY_UID" ] );
|
||||||
|
while($all_brands_search_ob = $all_brands_search_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$brand = $all_brands_search_ob->GetFields();
|
||||||
|
$brand['MODELS'] = [];
|
||||||
|
|
||||||
|
$catalog[$brand['PROPERTY_UID_VALUE']] = $brand;
|
||||||
|
}
|
||||||
|
|
||||||
|
$all_models_search_res = CIBlockElement::GetList( [], [ "IBLOCK_ID" => 9, "ACTIVE" => "Y" ], false, false, [ "CODE", "PROPERTY_BRAND_UID"] );
|
||||||
|
while($all_models_search_ob = $all_models_search_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$model = $all_models_search_ob->GetFields();
|
||||||
|
$model['PROPERTIES'] = $all_models_search_ob->GetProperties();
|
||||||
|
|
||||||
|
array_push($catalog[$model['PROPERTY_BRAND_UID_VALUE']]['MODELS'], $model);
|
||||||
|
|
||||||
|
//print_r($model);
|
||||||
|
//array_push( $bitrix_existed_models, $model_search['PROPERTIES']['UID']['VALUE'] );
|
||||||
|
}
|
||||||
|
|
||||||
|
//print_r($catalog);
|
||||||
|
|
||||||
|
//7f7534ad-5382-469c-8e40-f77267fb5644
|
||||||
|
|
||||||
|
$url = "https://".SITE_SERVER_NAME."/catalog";
|
||||||
|
$lastmod = date(DATE_W3C);
|
||||||
|
|
||||||
|
$strBegin = "<?xml version='1.0' encoding='UTF-8'?>\n<urlset xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||||
|
|
||||||
|
foreach($catalog AS $brand)
|
||||||
|
{
|
||||||
|
//print ;
|
||||||
|
//print "\n";
|
||||||
|
//"\t".
|
||||||
|
$strBegin .= "<url><loc>".$url."/".$brand['CODE']."/"."</loc><lastmod>".$lastmod."</lastmod></url>"."\n";
|
||||||
|
|
||||||
|
foreach($brand['MODELS'] AS $model)
|
||||||
|
{
|
||||||
|
//print "\t";
|
||||||
|
//print $url."/".$brand['CODE']."/".$model['CODE']."/";
|
||||||
|
//print "\n";
|
||||||
|
//"\t"."\t".
|
||||||
|
$strBegin .= "<url><loc>".$url."/".$brand['CODE']."/".$model['CODE']."/"."</loc><lastmod>".$lastmod."</lastmod></url>"."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
<url><loc>https://evo.quickcode.ru/</loc><lastmod>2022-03-29T15:01:44+03:00</lastmod></url>
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
$strBegin .= "</urlset>"."\n";
|
||||||
|
|
||||||
|
file_put_contents("../sitemap-catalog.xml", $strBegin);
|
||||||
|
//print $strBegin;
|
||||||
|
|
||||||
|
die();
|
||||||
|
|
||||||
|
?>
|
||||||
28
local/check_user.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?
|
||||||
|
//$_SERVER["DOCUMENT_ROOT"] = __DIR__;
|
||||||
|
define('STOP_STATISTICS', true);
|
||||||
|
define('NO_KEEP_STATISTIC', 'Y');
|
||||||
|
define('NO_AGENT_STATISTIC', 'Y');
|
||||||
|
define('DisableEventsCheck', true);
|
||||||
|
define('BX_SECURITY_SHOW_MESSAGE', true);
|
||||||
|
define('NOT_CHECK_PERMISSIONS', true);
|
||||||
|
|
||||||
|
$_SERVER['DOCUMENT_ROOT'] = dirname(__DIR__, 1);
|
||||||
|
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
|
||||||
|
CModule::IncludeModule('iblock');
|
||||||
|
|
||||||
|
$user_id = 22;
|
||||||
|
|
||||||
|
$existed_client_res = CIBlockElement::GetList([ 'id' => 'desc' ], [ 'IBLOCK_ID' => IBLOCK_ID_CLIENTS, 'PROPERTY_USERS' => $user_id ], false, []);
|
||||||
|
while ($existed_client_element = $existed_client_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$existed_client_record = $existed_client_element->GetFields();
|
||||||
|
$existed_client_record['PROPERTIES'] = $existed_client_element->GetProperties();
|
||||||
|
|
||||||
|
print_r("existed_client_record");
|
||||||
|
print_r($existed_client_record);
|
||||||
|
}
|
||||||
|
|
||||||
|
die();
|
||||||
|
|
||||||
|
?>
|
||||||
@ -52,6 +52,8 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
|
|||||||
$APPLICATION->SetPageProperty("title", $meta['ELEMENT_META_TITLE']);
|
$APPLICATION->SetPageProperty("title", $meta['ELEMENT_META_TITLE']);
|
||||||
$APPLICATION->SetPageProperty("keywords", $meta['ELEMENT_META_KEYWORDS']);
|
$APPLICATION->SetPageProperty("keywords", $meta['ELEMENT_META_KEYWORDS']);
|
||||||
$APPLICATION->SetPageProperty("description", $meta['ELEMENT_META_DESCRIPTION']);
|
$APPLICATION->SetPageProperty("description", $meta['ELEMENT_META_DESCRIPTION']);
|
||||||
|
|
||||||
|
$APPLICATION->AddHeadString('<link rel="canonical" href="'.$ar_res['CANONICAL_PAGE_URL'].'"/>');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->IncludeComponentTemplate();
|
$this->IncludeComponentTemplate();
|
||||||
|
|||||||
@ -1,5 +1,44 @@
|
|||||||
$(function()
|
$(function()
|
||||||
{
|
{
|
||||||
|
var hash = document.location.hash.replace("#", "");
|
||||||
|
|
||||||
|
if(hash !== "")
|
||||||
|
{
|
||||||
|
var agency = null;
|
||||||
|
var region = null;
|
||||||
|
|
||||||
|
$(".agency_item").each(function()
|
||||||
|
{
|
||||||
|
if($(this).data('agency') == hash)
|
||||||
|
{
|
||||||
|
agency = $(this).data('agency');
|
||||||
|
region = $(this).data('region');
|
||||||
|
|
||||||
|
console.log("agency", $(this).data('agency'), "region", $(this).data('region'));
|
||||||
|
|
||||||
|
/*
|
||||||
|
faq_section_index = $(this).data('section');
|
||||||
|
faq_item_index = $(this).data('index');
|
||||||
|
|
||||||
|
$(".faq_section_button").removeClass("active");
|
||||||
|
$(".faq_section_button_"+faq_section_index).addClass("active");
|
||||||
|
$(".faq_items_list").css("display", "none");
|
||||||
|
$(".faq_items_list_"+faq_section_index).css("display", "block");
|
||||||
|
|
||||||
|
$(".faq_item").removeClass("open");
|
||||||
|
$(".faq_item_"+faq_item_index).addClass("open");
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
$(".tab").last().click();
|
||||||
|
$(".regions_select").val(region);
|
||||||
|
onRegionChange(region);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
$(".regions_select").on("change", function()
|
$(".regions_select").on("change", function()
|
||||||
{
|
{
|
||||||
if($(this).val() === "")
|
if($(this).val() === "")
|
||||||
@ -30,35 +69,7 @@ $(function()
|
|||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
$(".region_selected").remove();
|
onRegionChange($(this).val());
|
||||||
$(".region_block").css("display", "none");
|
|
||||||
|
|
||||||
var text_blocks = $(".column_desktop").find(".region_"+parseInt($(this).val(), 10));
|
|
||||||
|
|
||||||
text_blocks.map(function(index, item)
|
|
||||||
{
|
|
||||||
var n = $(item).clone();
|
|
||||||
$(n).addClass("open").addClass("region_selected").css("display", "block");
|
|
||||||
|
|
||||||
if(index % 2 == 0)
|
|
||||||
{
|
|
||||||
$(".column_left").append(n);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$(".column_right").append(n);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var text_blocks = $(".column_mobile").find(".region_"+parseInt($(this).val(), 10));
|
|
||||||
|
|
||||||
text_blocks.map(function(index, item)
|
|
||||||
{
|
|
||||||
var n = $(item).clone();
|
|
||||||
$(n).addClass("open").addClass("region_selected").css("display", "block");
|
|
||||||
|
|
||||||
$(".column_all").append(n);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -73,4 +84,39 @@ $(function()
|
|||||||
scrollTop: $("#contacts_top").offset().top - 100
|
scrollTop: $("#contacts_top").offset().top - 100
|
||||||
}, 100);
|
}, 100);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function onRegionChange(region)
|
||||||
|
{
|
||||||
|
console.log("region", region);
|
||||||
|
|
||||||
|
$(".region_selected").remove();
|
||||||
|
$(".region_block").css("display", "none");
|
||||||
|
|
||||||
|
var text_blocks = $(".column_desktop").find(".region_"+parseInt(region, 10));
|
||||||
|
|
||||||
|
text_blocks.map(function(index, item)
|
||||||
|
{
|
||||||
|
var n = $(item).clone();
|
||||||
|
$(n).addClass("open").addClass("region_selected").css("display", "block");
|
||||||
|
|
||||||
|
if(index % 2 == 0)
|
||||||
|
{
|
||||||
|
$(".column_left").append(n);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$(".column_right").append(n);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var text_blocks = $(".column_mobile").find(".region_"+parseInt(region, 10));
|
||||||
|
|
||||||
|
text_blocks.map(function(index, item)
|
||||||
|
{
|
||||||
|
var n = $(item).clone();
|
||||||
|
$(n).addClass("open").addClass("region_selected").css("display", "block");
|
||||||
|
|
||||||
|
$(".column_all").append(n);
|
||||||
|
});
|
||||||
|
}
|
||||||
@ -12,6 +12,71 @@
|
|||||||
/** @var CBitrixComponent $component */
|
/** @var CBitrixComponent $component */
|
||||||
$this->setFrameMode(true);
|
$this->setFrameMode(true);
|
||||||
?>
|
?>
|
||||||
|
<?
|
||||||
|
$main_office_markup_content = [
|
||||||
|
"@context" => "https://schema.org",
|
||||||
|
"@type" => "FinancialService",
|
||||||
|
"image" => [
|
||||||
|
"https://avatars.mds.yandex.net/get-altay/2389272/2a000001749629d635959647ec27834f22be/XXXL",
|
||||||
|
],
|
||||||
|
"name" => "Эволюция Автолизинга",
|
||||||
|
"address" => [
|
||||||
|
"@type" => "PostalAddress",
|
||||||
|
"streetAddress" => "Котляковская ул., 8",
|
||||||
|
"addressLocality" => "Москва",
|
||||||
|
"addressRegion" => "Москва",
|
||||||
|
"postalCode" => "115201",
|
||||||
|
"addressCountry" => "Россия",
|
||||||
|
],
|
||||||
|
//"review" => [
|
||||||
|
// "@type" => "Review",
|
||||||
|
// "reviewRating" => [
|
||||||
|
// "@type" => "Rating",
|
||||||
|
// "ratingValue" => "4",
|
||||||
|
// "bestRating" => "5"
|
||||||
|
// ],
|
||||||
|
// "author" => [
|
||||||
|
// "@type" => "Person",
|
||||||
|
// "name" => "Lillian Ruiz",
|
||||||
|
// ]
|
||||||
|
//],
|
||||||
|
"geo" => [
|
||||||
|
"@type" => "GeoCoordinates",
|
||||||
|
"latitude" => 55.643978,
|
||||||
|
"longitude" => 37.640452,
|
||||||
|
],
|
||||||
|
"url" => "https://".SITE_SERVER_NAME."/about/contacts/",
|
||||||
|
"telephone" => "+74951466767",
|
||||||
|
"openingHoursSpecification" => [
|
||||||
|
[
|
||||||
|
"@type" => "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek" => [
|
||||||
|
"Monday",
|
||||||
|
"Tuesday",
|
||||||
|
"Wednesday",
|
||||||
|
"Thursday",
|
||||||
|
"Friday",
|
||||||
|
],
|
||||||
|
"opens" => "09:00",
|
||||||
|
"closes" => "18:00",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"@type" => "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek" => "Saturday",
|
||||||
|
"opens" => "00:00",
|
||||||
|
"closes" => "00:00",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"@type" => "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek" => "Sunday",
|
||||||
|
"opens" => "00:00",
|
||||||
|
"closes" => "00:00",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$APPLICATION->AddHeadString('<script type="application/ld+json">'.json_encode($main_office_markup_content).'</script>', false, "AFTER_JS");
|
||||||
|
?>
|
||||||
<?
|
<?
|
||||||
$placemarks = [];
|
$placemarks = [];
|
||||||
foreach($arResult['AGENCIES'] AS $agency)
|
foreach($arResult['AGENCIES'] AS $agency)
|
||||||
@ -346,9 +411,9 @@ $this->setFrameMode(true);
|
|||||||
<div class="column sm-list column_mobile column_all">
|
<div class="column sm-list column_mobile column_all">
|
||||||
<? $c = 1; ?>
|
<? $c = 1; ?>
|
||||||
<? foreach($arResult['AGENCIES'] AS $agency): ?>
|
<? foreach($arResult['AGENCIES'] AS $agency): ?>
|
||||||
<div class="region_block dropdown_block <?= $c === 1 ? "open" : ""; ?> <? foreach($agency['PROPERTIES']['REGION']['VALUE'] AS $r): ?>region_<?= $r; ?> <? endforeach; ?>">
|
<div class="region_block dropdown_block agency_item <?= $c === 1 ? "open" : ""; ?> <? foreach($agency['PROPERTIES']['REGION']['VALUE'] AS $r): ?>region_<?= $r; ?> <? endforeach; ?>" data-region="<?= $agency['PROPERTIES']['REGION']['VALUE'][0]; ?>" data-agency="<?= $agency['ID']; ?>">
|
||||||
<div class="block_header">
|
<div class="block_header">
|
||||||
<p><?= $agency['NAME']; ?></p>
|
<p><?= $agency['NAME']; ?> [<?= $agency['ID']; ?>]</p>
|
||||||
<!--Центральный офис и Московский офис продаж-->
|
<!--Центральный офис и Московский офис продаж-->
|
||||||
<button class="block_toggle"></button>
|
<button class="block_toggle"></button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -46,6 +46,8 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
|
|||||||
$APPLICATION->SetPageProperty("title", $meta['ELEMENT_META_TITLE']);
|
$APPLICATION->SetPageProperty("title", $meta['ELEMENT_META_TITLE']);
|
||||||
$APPLICATION->SetPageProperty("keywords", $meta['ELEMENT_META_KEYWORDS']);
|
$APPLICATION->SetPageProperty("keywords", $meta['ELEMENT_META_KEYWORDS']);
|
||||||
$APPLICATION->SetPageProperty("description", $meta['ELEMENT_META_DESCRIPTION']);
|
$APPLICATION->SetPageProperty("description", $meta['ELEMENT_META_DESCRIPTION']);
|
||||||
|
|
||||||
|
$APPLICATION->AddHeadString('<link rel="canonical" href="'.$ar_res['CANONICAL_PAGE_URL'].'"/>');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->IncludeComponentTemplate();
|
$this->IncludeComponentTemplate();
|
||||||
|
|||||||
@ -11,8 +11,26 @@
|
|||||||
/** @var string $componentPath */
|
/** @var string $componentPath */
|
||||||
/** @var CBitrixComponent $component */
|
/** @var CBitrixComponent $component */
|
||||||
$this->setFrameMode(true);
|
$this->setFrameMode(true);
|
||||||
?>
|
|
||||||
|
|
||||||
|
$markup_content = [
|
||||||
|
"@context" => "https://schema.org",
|
||||||
|
"@type" => "NewsArticle",
|
||||||
|
"headline" => $arResult['NAME'],
|
||||||
|
"image" => [
|
||||||
|
"https://".SITE_SERVER_NAME.$arResult['DETAIL_PICTURE'],
|
||||||
|
],
|
||||||
|
"datePublished" => FormatDate(DATE_W3C, MakeTimeStamp($arResult['ACTIVE_FROM'])),
|
||||||
|
"dateModified" => FormatDate(DATE_W3C, MakeTimeStamp($arResult['ACTIVE_FROM'])),
|
||||||
|
"author" => [
|
||||||
|
[
|
||||||
|
"@type" => "Organization",
|
||||||
|
"name" => "Эволюция Автолизинга",
|
||||||
|
"url" => "https://".SITE_SERVER_NAME."/",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
$APPLICATION->AddHeadString('<script type="application/ld+json">'.json_encode($markup_content).'</script>', false, "AFTER_JS");
|
||||||
|
?>
|
||||||
<section data-page>
|
<section data-page>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<p class="section_title">Новость</p>
|
<p class="section_title">Новость</p>
|
||||||
|
|||||||
8
local/components/evolution/banner.ask/.description.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
13
local/components/evolution/banner.ask/component.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?
|
||||||
|
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 */
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Баннер в каталоге 'Спросить у консультанта'";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Баннер в каталоге 'Спросить у консультанта'";
|
||||||
|
?>
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
$(function()
|
||||||
|
{
|
||||||
|
$("#to_form_button").on("click", function(event)
|
||||||
|
{
|
||||||
|
$('html, body').animate({
|
||||||
|
scrollTop: $("#order").offset().top - 100
|
||||||
|
}, 200);
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<div class="banner consultation">
|
||||||
|
<p>Не можете найти нужный автомобиль?</p>
|
||||||
|
<img src="/images/manager.png" loading="lazy" alt="" width="131px" height="192px" />
|
||||||
|
<div>
|
||||||
|
<p>Спросите у консультанта</p>
|
||||||
|
<a class="button" id="to_form_button">Задать вопрос</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
8
local/components/evolution/banner.inner/.description.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
40
local/components/evolution/banner.inner/component.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?
|
||||||
|
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'))
|
||||||
|
{
|
||||||
|
$filter = ["ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_BANNERS_INNER];
|
||||||
|
$banner_res = CIBlockElement::GetList(["RAND" => "ASC", ], $filter, false, [ "nPageSize" => 1 ]);
|
||||||
|
|
||||||
|
while ($banner_ob_element = $banner_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$banner_ar_res = $banner_ob_element->GetFields();
|
||||||
|
$banner_ar_res['PROPERTIES'] = $banner_ob_element->GetProperties();
|
||||||
|
|
||||||
|
if(isset($banner_ar_res['PREVIEW_PICTURE']))
|
||||||
|
{
|
||||||
|
$banner_ar_res['PREVIEW_PICTURE'] = CFile::GetPath($banner_ar_res['PREVIEW_PICTURE']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$arResult['BANNER'] = $banner_ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Внутренний баннер";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Внутренний баннер";
|
||||||
|
?>
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
$(function()
|
||||||
|
{
|
||||||
|
$("#to_form_button").on("click", function(event)
|
||||||
|
{
|
||||||
|
$('html, body').animate({
|
||||||
|
scrollTop: $("#order").offset().top - 100
|
||||||
|
}, 200);
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<!--
|
||||||
|
<?= print_r($arResult); ?>
|
||||||
|
-->
|
||||||
|
<div class="banner special">
|
||||||
|
<img src="<?= $arResult['BANNER']['PREVIEW_PICTURE']; ?>" alt="" width="254px" height="238px" />
|
||||||
|
<?= $arResult['BANNER']['~PREVIEW_TEXT']; ?>
|
||||||
|
<a href="<?= $arResult['BANNER']['PROPERTIES']['URL']['VALUE']; ?>" aria-label="Подробнее" title="Подробнее"></a>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
60
local/components/evolution/callback.button/component.php
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<?
|
||||||
|
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['ALLOW'] = false;
|
||||||
|
$arResult['SEARCH'] = $_REQUEST['search'];
|
||||||
|
|
||||||
|
print "<!-- SCHEDULE -->\n";
|
||||||
|
|
||||||
|
$sort = Array("ID" => "DESC");
|
||||||
|
$filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_CALLBACK_SCHEDULE);
|
||||||
|
$options = Array("nPageSize" => 1);
|
||||||
|
|
||||||
|
$schedule_res = CIBlockElement::GetList($sort, $filter, false, $options);
|
||||||
|
while ($schedule_element = $schedule_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$schedule = $schedule_element->GetFields();
|
||||||
|
$schedule['PROPERTIES'] = $schedule_element->GetProperties();
|
||||||
|
|
||||||
|
$day = date("w");
|
||||||
|
$time = date("H:i");
|
||||||
|
|
||||||
|
if($schedule['PROPERTIES']['WEEKDAY_'.$day.'_ENABLED']['VALUE_XML_ID'] === "YES")
|
||||||
|
{
|
||||||
|
if(!empty($schedule['PROPERTIES']['WEEKDAY_'.$day.'_FROM']['VALUE']) && $schedule['PROPERTIES']['WEEKDAY_'.$day.'_TO']['VALUE'])
|
||||||
|
{
|
||||||
|
$from = mktime($schedule['PROPERTIES']['WEEKDAY_'.$day.'_FROM']['VALUE'].":00");
|
||||||
|
$now = mktime( $time.":00" );
|
||||||
|
$to = mktime($schedule['PROPERTIES']['WEEKDAY_'.$day.'_TO']['VALUE'].":00");
|
||||||
|
|
||||||
|
if($now >= $from && $now < $to)
|
||||||
|
{
|
||||||
|
$arResult['ALLOW'] = true;
|
||||||
|
print "<!-- DAY ".$day." -->\n";
|
||||||
|
print "<!-- TIME ".$time." | ".$from." - ".$now."- ".$to." -->\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Кнопка \"Обратный звонок\"";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Кнопка \"Обратный звонок\"";
|
||||||
|
?>
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<? if($arResult['ALLOW']): ?>
|
||||||
|
<p class="header_recall_button">Обратный звонок</p>
|
||||||
|
<? endif; ?>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
54
local/components/evolution/catalog.brands/component.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?
|
||||||
|
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 = [
|
||||||
|
'BRANDS' => []
|
||||||
|
];
|
||||||
|
|
||||||
|
$brands_res = CIBlockElement::GetList([ "NAME" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_BRANDS ], false, []);
|
||||||
|
while ($brands_ob_element = $brands_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$brands_ar_res = $brands_ob_element->GetFields();
|
||||||
|
$brands_ar_res['PROPERTIES'] = $brands_ob_element->GetProperties();
|
||||||
|
|
||||||
|
if(isset($brands_ar_res['PREVIEW_PICTURE']))
|
||||||
|
{
|
||||||
|
$brands_ar_res['PREVIEW_PICTURE'] = CFile::GetPath($brands_ar_res['PREVIEW_PICTURE']);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$cars_res = CIBlockElement::GetList([ "PROPERTY_PRICE" => "DESC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_CATALOG_CARS_NEW, "PROPERTY_BRAND" => $brands_ar_res['ID'] ], false, [ "nPageSize" => 1 ]);
|
||||||
|
while ($cars_ob_element = $cars_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$cars_ar_res = $cars_ob_element->GetFields();
|
||||||
|
$cars_ar_res['PROPERTIES'] = $cars_ob_element->GetProperties();
|
||||||
|
|
||||||
|
$brands_ar_res['PREVIEW_PICTURE'] = $cars_ar_res['PROPERTIES']['IMAGE_URL']['VALUE'];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$arResult['BRANDS'][] = $brands_ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
|
//}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Список марок ЛКТ";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Список марок ЛКТ";
|
||||||
|
?>
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<div class="brand_catalogue_list">
|
||||||
|
<p class="brand_catalogue_title"><?= $arParams['TITLE']; ?></p>
|
||||||
|
<? foreach($arResult['BRANDS'] AS $brand): ?>
|
||||||
|
<div class="brand_catalogue_item">
|
||||||
|
<a href="/catalog/<?= $brand['CODE']; ?>/">
|
||||||
|
<span><?= $brand['NAME']; ?></span>
|
||||||
|
<img src="<?= ($brand['PREVIEW_PICTURE'] != "") ? $brand['PREVIEW_PICTURE'] : "/images/no_car_photo_380.png"; ?>" alt="<?= $brand['NAME']; ?>" loading="lazy" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<? endforeach; ?>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
13
local/components/evolution/catalog.list.item/component.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?
|
||||||
|
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 */
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Позиция в каталоге ЛКТ";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Позиция в каталоге ЛКТ";
|
||||||
|
?>
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="catalog_item">
|
||||||
|
<a href="/car/<?= $arParams['CODE']; ?>/" class="item_link" area-label="<?= $arParams['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arParams['PROPERTIES']['MODEL']['RELATED']['NAME']; ?>"></a>
|
||||||
|
<img src="<?= $arParams['PROPERTIES']['IMAGE_URL']['VALUE']; ?>" alt="<?= $arParams['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arParams['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <?= $arParams['PROPERTIES']['BODY']['VALUE']; ?>" />
|
||||||
|
<p class="item_class"><?= $arParams['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arParams['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <?= $arParams['PROPERTIES']['BODY']['VALUE']; ?></p>
|
||||||
|
<p class="item_model">
|
||||||
|
<b><?= $arParams['PROPERTIES']['MODIFICATION']['RELATED']['PROPERTIES']['TITLE']['VALUE']; ?></b>
|
||||||
|
<?= $arParams['PROPERTIES']['ENGINE_FUEL']['VALUE']; ?>, <?= $arParams['PROPERTIES']['GEAR']['VALUE']; ?>, <?= $arParams['PROPERTIES']['ENGINE_POWER']['VALUE']; ?> л.с.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li class="pay">
|
||||||
|
<p>Ежемесячный платёж (от)</p>
|
||||||
|
<p><?= $arParams['CALCULATION']['MONTHLY']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Стоимость автомобиля (от)</p>
|
||||||
|
<p><?= number_format($arParams['PROPERTIES']['PRICE']['VALUE'], 0, ".", " "); ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Экономия по налогу на прибыль (до)</p>
|
||||||
|
<p><?= $arParams['CALCULATION']['SAVINGS_TAX']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>НДС к возмещению из бюджета (до)</p>
|
||||||
|
<p><?= $arParams['CALCULATION']['SAVINGS_VAT']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="item_footer">
|
||||||
|
<span class="button button-blue">Рассчитать график</span>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
77
local/components/evolution/catalog.models/component.php
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
<?
|
||||||
|
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 = [
|
||||||
|
'BRAND_TITLE' => "",
|
||||||
|
'MODELS' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
$brands = [];
|
||||||
|
$brands_res = CIBlockElement::GetList([ "NAME" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_BRANDS, ], false, []);
|
||||||
|
while ($brands_ob_element = $brands_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$brands_ar_res = $brands_ob_element->GetFields();
|
||||||
|
$brands_ar_res['PROPERTIES'] = $brands_ob_element->GetProperties();
|
||||||
|
$brands[$brands_ar_res['CODE']] = [
|
||||||
|
"NAME" => $brands_ar_res['NAME'],
|
||||||
|
"CODE" => $brands_ar_res['CODE'],
|
||||||
|
"UID" => $brands_ar_res['PROPERTIES']['UID']['VALUE'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
//print "<!-- BRANDS >>>>>";
|
||||||
|
//print_r($brands);
|
||||||
|
//print "-->";
|
||||||
|
|
||||||
|
$arResult['TITLE'] = $arParams['RECOMMENDED'] ? "Каталог автомобилей ".$brands[$arParams['BRAND']]['NAME'] : "";
|
||||||
|
|
||||||
|
$models_res = CIBlockElement::GetList([ "NAME" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_MODELS, "PROPERTY_BRAND_UID" => $brands[$arParams['BRAND']]['UID'] ], false, []);
|
||||||
|
while ($models_ob_element = $models_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$models_ar_res = $models_ob_element->GetFields();
|
||||||
|
$models_ar_res['PROPERTIES'] = $models_ob_element->GetProperties();
|
||||||
|
|
||||||
|
if(!empty($models_ar_res['PREVIEW_PICTURE']))
|
||||||
|
{
|
||||||
|
$models_ar_res['IMAGE_PREPARED'] = true;
|
||||||
|
$models_ar_res['PREVIEW_PICTURE'] = CFile::GetPath($models_ar_res['PREVIEW_PICTURE']);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$cars_res = CIBlockElement::GetList([ "NAME" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_CATALOG_CARS_NEW, "PROPERTY_MODEL" => $models_ar_res['ID'] ], false, [ "nPageSize" => 1 ]);
|
||||||
|
while ($cars_ob_element = $cars_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$cars_ar_res = $cars_ob_element->GetFields();
|
||||||
|
$cars_ar_res['PROPERTIES'] = $cars_ob_element->GetProperties();
|
||||||
|
|
||||||
|
$models_ar_res['IMAGE_PREPARED'] = false;
|
||||||
|
$models_ar_res['PREVIEW_PICTURE'] = $cars_ar_res['PROPERTIES']['IMAGE_URL']['VALUE'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$models_ar_res['URL'] = "/catalog/".$brands[$arParams['BRAND']]['CODE']."/".$models_ar_res['CODE']."/";
|
||||||
|
|
||||||
|
$arResult['MODELS'][] = $models_ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
|
//}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Список марок ЛКТ";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Список марок ЛКТ";
|
||||||
|
?>
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<div class="recom_models">
|
||||||
|
<p class="title"><?= isset($arParams['TITLE']) ? $arParams['TITLE'] : $arResult['TITLE']; ?></p>
|
||||||
|
<? foreach($arResult['MODELS'] AS $model): ?>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="<?= $model['URL']; ?>">
|
||||||
|
<span><?= $model['NAME']; ?></span>
|
||||||
|
<img src="<?= ($model['PREVIEW_PICTURE'] != "") ? $model['PREVIEW_PICTURE'] : "/images/no_car_photo_380.png"; ?>" alt="<?= $model['NAME']; ?>" loading="lazy" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<? endforeach; ?>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
<?
|
||||||
|
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;
|
||||||
|
|
||||||
|
global $NavNum;
|
||||||
|
$NavNum = 0;
|
||||||
|
|
||||||
|
if(CModule::IncludeModule('iblock'))
|
||||||
|
{
|
||||||
|
$arResult = [
|
||||||
|
'ITEMS' => [],
|
||||||
|
'LINK' => "/catalog/",
|
||||||
|
];
|
||||||
|
|
||||||
|
$query = null;
|
||||||
|
$query_arr = [];
|
||||||
|
|
||||||
|
$sort = Array( "RAND" => "ASC" );
|
||||||
|
$filter = Array( "ACTIVE" => "Y", "IBLOCK_ID" => 1, "!ID" => $arParams['EXCEPT'] );
|
||||||
|
$options = Array( "nPageSize" => 6 );
|
||||||
|
|
||||||
|
if(!empty($arParams['BRAND_ID']))
|
||||||
|
{
|
||||||
|
$filter['PROPERTY_BRAND'] = $arParams['BRAND_ID'];
|
||||||
|
$arResult['LINK'] .= $arParams['BRAND_CODE']."/";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($arParams['MODEL_ID']))
|
||||||
|
{
|
||||||
|
$filter['PROPERTY_MODEL'] = $arParams['MODEL_ID'];
|
||||||
|
$arResult['LINK'] .= $arParams['MODEL_CODE']."/";
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = CIBlockElement::GetList($sort, $filter, false, $options);
|
||||||
|
|
||||||
|
while ($obElement = $res->GetNextElement())
|
||||||
|
{
|
||||||
|
$ar_res = $obElement->GetFields();
|
||||||
|
$ar_res['PROPERTIES'] = $obElement->GetProperties();
|
||||||
|
$ar_res['PROPERTIES']['BRAND']['RELATED'] = get_related(IBLOCK_ID_BRANDS, $ar_res['PROPERTIES']['BRAND']['VALUE']);
|
||||||
|
$ar_res['PROPERTIES']['MODEL']['RELATED'] = get_related(IBLOCK_ID_MODELS, $ar_res['PROPERTIES']['MODEL']['VALUE']);
|
||||||
|
$ar_res['PROPERTIES']['MODIFICATION']['RELATED'] = get_related(IBLOCK_ID_MODIFICATIONS, $ar_res['PROPERTIES']['MODIFICATION']['VALUE']);
|
||||||
|
|
||||||
|
$arResult['ITEMS'][] = $ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Другие ЛКТ из каталога для позциии";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Другие ЛКТ из каталога для позциии";
|
||||||
|
?>
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<? if(count($arResult['ITEMS']) > 0): ?>
|
||||||
|
<div class="recom_models">
|
||||||
|
<div class="title_wrapper">
|
||||||
|
<p class="title">Другие предложения <?= $arParams['BRAND_NAME']; ?> <?= $arParams['MODEL_NAME']; ?></p>
|
||||||
|
<?/*<a href="<?= $arResult['LINK']; ?>" class="button button-transparent">Показать все</a>*/?>
|
||||||
|
</div>
|
||||||
|
<? foreach($arResult['ITEMS'] AS $arItem): ?>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="/car/<?= $arItem['CODE']; ?>/">
|
||||||
|
<span style="line-height: 28px;"><?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <br><small style="color: #8e94a7;"><?= $arItem['PROPERTIES']['MODIFICATION']['RELATED']['PROPERTIES']['TITLE']['VALUE']; ?></small></span>
|
||||||
|
<img class="image_recommended" src="<?= ($arItem['PROPERTIES']['IMAGE_URL']['VALUE'] != "") ? $arItem['PROPERTIES']['IMAGE_URL']['VALUE'] : "/images/no_car_photo_380.png"; ?>" alt="<?= $arItem['NAME']; ?>" loading="lazy" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<? endforeach; ?>
|
||||||
|
<a class="catalog_show_more_button" href="<?= $arResult['LINK']; ?>" style="margin-bottom: 0px;">
|
||||||
|
<span>Показать все</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<? endif; ?>
|
||||||
@ -43,12 +43,18 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
|
|||||||
."&redemption_payment=".$arParams['redemption_payment'].""));
|
."&redemption_payment=".$arParams['redemption_payment'].""));
|
||||||
|
|
||||||
$arResult = $ar_res;
|
$arResult = $ar_res;
|
||||||
|
|
||||||
|
$APPLICATION->AddHeadString('<link rel="canonical" href="'.$ar_res['CANONICAL_PAGE_URL'].'"/>');
|
||||||
|
//$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/catalog/'.$ar_res['PROPERTIES']['BRAND']['RELATED']['CODE'].'/'.$ar_res['PROPERTIES']['MODEL']['RELATED']['CODE'].'/"/>');
|
||||||
}
|
}
|
||||||
|
|
||||||
if(empty($ar_res['NAME'])) { define('ERROR_404', 'Y'); }
|
if(empty($ar_res['NAME'])) { define('ERROR_404', 'Y'); }
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$APPLICATION->AddChainItem($ar_res['PROPERTIES']['BRAND']['RELATED']['NAME'], "/catalog/".$ar_res['PROPERTIES']['BRAND']['RELATED']['CODE']."/");
|
||||||
|
$APPLICATION->AddChainItem($ar_res['PROPERTIES']['MODEL']['RELATED']['NAME'], "/catalog/".$ar_res['PROPERTIES']['BRAND']['RELATED']['CODE']."/".$ar_res['PROPERTIES']['MODEL']['RELATED']['CODE']."/");
|
||||||
$APPLICATION->AddChainItem($ar_res["NAME"]);
|
$APPLICATION->AddChainItem($ar_res["NAME"]);
|
||||||
|
|
||||||
$ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues($ar_res['IBLOCK_ID'], $ar_res["ID"]);
|
$ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues($ar_res['IBLOCK_ID'], $ar_res["ID"]);
|
||||||
$meta = $ipropValues->getValues();
|
$meta = $ipropValues->getValues();
|
||||||
$APPLICATION->SetPageProperty("title", $meta['ELEMENT_META_TITLE']);
|
$APPLICATION->SetPageProperty("title", $meta['ELEMENT_META_TITLE']);
|
||||||
|
|||||||
@ -210,4 +210,18 @@ $(function()
|
|||||||
calculator_car_price_save();
|
calculator_car_price_save();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#to_calculator_button").on("click", function(event)
|
||||||
|
{
|
||||||
|
$('html, body').animate({
|
||||||
|
scrollTop: $("#calc").offset().top - 100
|
||||||
|
}, 200);
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#to_form_button").on("click", function(event)
|
||||||
|
{
|
||||||
|
$('html, body').animate({
|
||||||
|
scrollTop: $("#order").offset().top - 100
|
||||||
|
}, 200);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
@ -18,6 +18,9 @@ $this->setFrameMode(true);
|
|||||||
calculator(<?= CUtil::PhpToJSObject(array_merge($arParams, $arResult['CALCULATION'])); ?>);
|
calculator(<?= CUtil::PhpToJSObject(array_merge($arParams, $arResult['CALCULATION'])); ?>);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
main {overflow-x: unset;}
|
||||||
|
</style>
|
||||||
<section data-page="position">
|
<section data-page="position">
|
||||||
<input type="hidden" id="FORM_FIELD_BRAND" value="<?= $arResult['PROPERTIES']['BRAND']['RELATED']['NAME']; ?>"/>
|
<input type="hidden" id="FORM_FIELD_BRAND" value="<?= $arResult['PROPERTIES']['BRAND']['RELATED']['NAME']; ?>"/>
|
||||||
<input type="hidden" id="FORM_FIELD_MODEL" value="<?= $arResult['PROPERTIES']['MODEL']['RELATED']['NAME']; ?>"/>
|
<input type="hidden" id="FORM_FIELD_MODEL" value="<?= $arResult['PROPERTIES']['MODEL']['RELATED']['NAME']; ?>"/>
|
||||||
@ -26,19 +29,19 @@ $this->setFrameMode(true);
|
|||||||
<input type="hidden" id="FORM_FIELD_PREPAID" value=""/>
|
<input type="hidden" id="FORM_FIELD_PREPAID" value=""/>
|
||||||
<input type="hidden" id="FORM_FIELD_TERM" value=""/>
|
<input type="hidden" id="FORM_FIELD_TERM" value=""/>
|
||||||
<input type="hidden" id="FORM_FIELD_REDEMPTION" value=""/>
|
<input type="hidden" id="FORM_FIELD_REDEMPTION" value=""/>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<ul class="breadcrumbs">
|
<ul class="breadcrumbs">
|
||||||
<li></li>
|
<li></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h1 class="section_title no-margin"><?= $arResult['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arResult['PROPERTIES']['MODEL']['RELATED']['NAME']; ?></h1>
|
<h1 class="car_position_title"><em><?= $arResult['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arResult['PROPERTIES']['MODEL']['RELATED']['NAME']; ?></em><br> <?= $arResult['PROPERTIES']['MODIFICATION']['RELATED']['PROPERTIES']['TITLE']['VALUE']; ?> в лизинг</h1>
|
||||||
<h2 class="model"><?= $arResult['PROPERTIES']['MODIFICATION']['RELATED']['PROPERTIES']['TITLE']['VALUE']; ?></h2>
|
|
||||||
<div class="model_container">
|
<div class="model_container">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<img src="<?= $arResult['PROPERTIES']['IMAGE_URL']['VALUE']; ?>" alt="<?= $arResult['NAME']; ?>" width="650px" >
|
<img src="<?= $arResult['PROPERTIES']['IMAGE_URL']['VALUE'] !== "" ? $arResult['PROPERTIES']['IMAGE_URL']['VALUE'] : "/images/no_image_650.png"; ?>" alt="<?= $arResult['NAME']; ?>" width="650px" >
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
<div class="model_desc">
|
<div class="model_desc">
|
||||||
<p><b>Ключевые характеристики</b></p>
|
<p><b>Ключевые характеристики</b></p>
|
||||||
<ul class="list-column" data-column="3">
|
<ul class="list-column">
|
||||||
<li>Год: <?= $arResult['PROPERTIES']['MODIFICATION_YEAR']['VALUE']; ?></li>
|
<li>Год: <?= $arResult['PROPERTIES']['MODIFICATION_YEAR']['VALUE']; ?></li>
|
||||||
<li>КПП: <?= $arResult['PROPERTIES']['GER']['VALUE']; ?></li>
|
<li>КПП: <?= $arResult['PROPERTIES']['GER']['VALUE']; ?></li>
|
||||||
<li>Привод: <?= $arResult['PROPERTIES']['DRIVE']['VALUE']; ?></li>
|
<li>Привод: <?= $arResult['PROPERTIES']['DRIVE']['VALUE']; ?></li>
|
||||||
@ -48,75 +51,15 @@ $this->setFrameMode(true);
|
|||||||
<li>Топливо: <?= $arResult['PROPERTIES']['ENGINE_FUEL']['VALUE']; ?></li>
|
<li>Топливо: <?= $arResult['PROPERTIES']['ENGINE_FUEL']['VALUE']; ?></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="fixed_col" style="z-index: 10;">
|
||||||
<div class="col">
|
<div class="model_price">
|
||||||
<div id="calc">
|
<h2 style="margin:0; font-size:inherit; margin-bottom: 45px; line-height: 20px;">Оформите автомобиль <?= $arResult['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arResult['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> в лизинг на выгодных условиях</h2>
|
||||||
<div class="calc_body">
|
<p>
|
||||||
<div class="calc_settings">
|
Стоимость авто (от)
|
||||||
<div class="settings_box">
|
<span style="font-size: <?= ($arParams['car_price'] > 9999999) ? "30px" : "34px"; ?>"><?= number_format($arParams['car_price'], 0, ".", " "); ?> ₽</span>
|
||||||
<p>Стоимость авто</p>
|
</p>
|
||||||
<p>
|
<button class="button button-blue" id="to_calculator_button">Рассчитать</button>
|
||||||
<span id="calculator_car_price_value">
|
<button class="button" id="to_form_button">Задать вопрос</button>
|
||||||
<?= number_format($arResult['PROPERTIES']['PRICE']['VALUE'], 0, ".", " "); ?> ₽
|
|
||||||
</span>
|
|
||||||
<output hidden></output>
|
|
||||||
</p>
|
|
||||||
<div class="price_custom" id="calculator_car_price_editor" style="display:none;">
|
|
||||||
<input id="calculator_car_price_input" type="number" value="500000" min="500000" max="20000000" />
|
|
||||||
<button id="calculator_car_price_save">Сохранить</button>
|
|
||||||
</div>
|
|
||||||
<div class="line">
|
|
||||||
<input id="calculation_car_price" data-slider-name="car_price" type="range" min="<?= $arParams['CAR_PRICE_MIN']; ?>" max="<?= $arParams['CAR_PRICE_MAX']; ?>" step="100000" data-rangeslider value="<?= $arParams['car_price']; ?>" />
|
|
||||||
</div>
|
|
||||||
<p class="min"><?= $arParams['CAR_PRICE_MIN'] / 1000000; ?> млн</p>
|
|
||||||
<p class="max"><?= $arParams['CAR_PRICE_MAX'] / 1000000; ?> млн</p>
|
|
||||||
</div>
|
|
||||||
<div class="settings_box">
|
|
||||||
<p>Первоначальный взнос</p>
|
|
||||||
<p><output></output> %</p>
|
|
||||||
<div class="line">
|
|
||||||
<input id="calculation_initial_payment" data-slider-name="initial_payment" type="range" min="<?= $arParams['INITIAL_PAYMENT_MIN'];?>" max="<?= $arParams['INITIAL_PAYMENT_MAX'];?>" data-rangeslider value="<?= $arParams['initial_payment']; ?>" />
|
|
||||||
</div>
|
|
||||||
<p class="min"><?= $arParams['INITIAL_PAYMENT_MIN'];?>%</p>
|
|
||||||
<p class="max"><?= $arParams['INITIAL_PAYMENT_MAX'];?>%</p>
|
|
||||||
</div>
|
|
||||||
<div class="settings_box">
|
|
||||||
<p>Срок договора</p>
|
|
||||||
<p><output></output> мес.</p>
|
|
||||||
<div class="line">
|
|
||||||
<input id="calculation_lease_period" data-slider-name="lease_period" type="range" min="<?= $arParams['LEASE_PERIOD_MIN']; ?>" max="<?= $arParams['LEASE_PERIOD_MAX']; ?>" data-rangeslider value="<?= $arParams['lease_period']; ?>" />
|
|
||||||
</div>
|
|
||||||
<p class="min"><?= $arParams['LEASE_PERIOD_MIN']; ?> мес.</p>
|
|
||||||
<p class="max"><?= $arParams['LEASE_PERIOD_MAX']; ?> мес.</p>
|
|
||||||
</div>
|
|
||||||
<div class="settings_box">
|
|
||||||
<p>Выкупной платеж</p>
|
|
||||||
<p><output></output> %</p>
|
|
||||||
<div class="line">
|
|
||||||
<input id="calculation_redemption_payment" data-slider-name="redemption_payment" type="range" min="<?= $arParams['REDEMPTION_PAYMENT_MIN']; ?>" max="<?= $arParams['REDEMPTION_PAYMENT_MAX']; ?>" data-rangeslider value="<?= $arParams['redemption_payment']; ?>" />
|
|
||||||
</div>
|
|
||||||
<p class="min"><?= $arParams['REDEMPTION_PAYMENT_MIN']; ?>%</p>
|
|
||||||
<p class="max"><?= $arParams['REDEMPTION_PAYMENT_MAX']; ?>%</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="calc_result">
|
|
||||||
<div class="result_box bolder">
|
|
||||||
<p>Ежемесячный платеж</p>
|
|
||||||
<p><span id="calculator_monthly_payment_value"><?= number_format($arResult['CALCULATION']['monthly_payment'], 0, '.', ' '); ?></span> ₽</p>
|
|
||||||
</div>
|
|
||||||
<div class="result_box">
|
|
||||||
<p>Экономия по налогу на прибыль (до)</p>
|
|
||||||
<p><span id="calculator_tax_savings_value"><?= number_format($arResult['CALCULATION']['tax_savings'], 0, '.', ' '); ?></span> ₽</p>
|
|
||||||
</div>
|
|
||||||
<div class="result_box">
|
|
||||||
<p>НДС к возмещению из бюджета (до)</p>
|
|
||||||
<p><span id="calculator_vat_reimbursement_value"><?= number_format($arResult['CALCULATION']['vat_reimbursement'], 0, '.', ' '); ?></span> ₽</p>
|
|
||||||
</div>
|
|
||||||
<div class="calc_footer">
|
|
||||||
<button class="button button-blue" id="calculation_reset">Сбросить к базовым значениям</button>
|
|
||||||
<a href="#order" class="button button-blue">Отправить заявку</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -124,13 +67,13 @@ $this->setFrameMode(true);
|
|||||||
<aside>
|
<aside>
|
||||||
<ul class="aside_nav">
|
<ul class="aside_nav">
|
||||||
<li>
|
<li>
|
||||||
<a href="#" data-id="1" class="car_details_menu active">Комплектация</a>
|
<a href="#" data-id="1" class="car_details_menu active"><h2 style="margin:0; font-size:inherit; font-weight:inherit;">Комплектация</h2></a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#" data-id="2" class="car_details_menu">Характеристики</a>
|
<a href="#" data-id="2" class="car_details_menu"><h2 style="margin:0; font-size:inherit; font-weight:inherit;">Характеристики</h2></a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#" data-id="3" class="car_details_menu">Обслуживание </a>
|
<a href="#" data-id="3" class="car_details_menu"><h2 style="margin:0; font-size:inherit; font-weight:inherit;">Обслуживание</h2></a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</aside>
|
</aside>
|
||||||
@ -139,7 +82,7 @@ $this->setFrameMode(true);
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="tab_content info_block info_column active" id="info_block_1">
|
<div class="tab_content info_block info_column active" id="info_block_1">
|
||||||
<div class="touch_header opened">Комплектация</div>
|
<div class="touch_header opened"><h2 style="margin:0; font-size:inherit; font-weight:inherit;">Комплектация</h2></div>
|
||||||
<div>
|
<div>
|
||||||
<p><b>Основная информация</b></p>
|
<p><b>Основная информация</b></p>
|
||||||
<ul class="list-column" data-column="1">
|
<ul class="list-column" data-column="1">
|
||||||
@ -174,7 +117,7 @@ $this->setFrameMode(true);
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab_content info_block info_column" id="info_block_2">
|
<div class="tab_content info_block info_column" id="info_block_2">
|
||||||
<div class="touch_header">Характеристики</div>
|
<div class="touch_header"><h2 style="margin:0; font-size:inherit; font-weight:inherit;">Характеристики</h2></div>
|
||||||
<div>
|
<div>
|
||||||
<p><b>Технические характеристики</b></p>
|
<p><b>Технические характеристики</b></p>
|
||||||
<ul class="list-column" data-column="1">
|
<ul class="list-column" data-column="1">
|
||||||
@ -199,7 +142,7 @@ $this->setFrameMode(true);
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab_content info_block" id="info_block_3">
|
<div class="tab_content info_block" id="info_block_3">
|
||||||
<div class="touch_header">Обслуживание</div>
|
<div class="touch_header"><h2 style="margin:0; font-size:inherit; font-weight:inherit;">Обслуживание</h2></div>
|
||||||
<? $APPLICATION->IncludeComponent(
|
<? $APPLICATION->IncludeComponent(
|
||||||
"evolution:catalog.position.info",
|
"evolution:catalog.position.info",
|
||||||
"",
|
"",
|
||||||
@ -220,7 +163,6 @@ $this->setFrameMode(true);
|
|||||||
<p>
|
<p>
|
||||||
<b>Банкротство лизингодателя</b><br>
|
<b>Банкротство лизингодателя</b><br>
|
||||||
Банкротство лизинговой компании не является поводом для изъятия у лизингополучателя объекта лизинга, при условии, что последний не нарушил условия договора лизинга.</p>
|
Банкротство лизинговой компании не является поводом для изъятия у лизингополучателя объекта лизинга, при условии, что последний не нарушил условия договора лизинга.</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<b>Внутренний лизинг</b><br>
|
<b>Внутренний лизинг</b><br>
|
||||||
Лизинг, при котором всё стороны договора лизинга являются резиденты Республики Беларусь.</p>
|
Лизинг, при котором всё стороны договора лизинга являются резиденты Республики Беларусь.</p>
|
||||||
@ -274,6 +216,152 @@ $this->setFrameMode(true);
|
|||||||
?>
|
?>
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="calc">
|
||||||
|
<div class="calc_body">
|
||||||
|
<h2 class="section_title">Калькулятор расчета лизинга</h2>
|
||||||
|
<div class="calc_settings">
|
||||||
|
<div class="settings_box">
|
||||||
|
<p>Стоимость авто</p>
|
||||||
|
<p>
|
||||||
|
<span id="calculator_car_price_value">
|
||||||
|
<?= number_format($arResult['PROPERTIES']['PRICE']['VALUE'], 0, ".", " "); ?> ₽
|
||||||
|
</span>
|
||||||
|
<output hidden></output>
|
||||||
|
</p>
|
||||||
|
<div class="price_custom" id="calculator_car_price_editor" style="display:none;">
|
||||||
|
<input id="calculator_car_price_input" type="number" value="500000" min="500000" max="20000000" />
|
||||||
|
<button id="calculator_car_price_save">Сохранить</button>
|
||||||
|
</div>
|
||||||
|
<div class="line">
|
||||||
|
<input id="calculation_car_price" data-slider-name="car_price" type="range" min="<?= $arParams['CAR_PRICE_MIN']; ?>" max="<?= $arParams['CAR_PRICE_MAX']; ?>" step="100000" data-rangeslider value="<?= $arParams['car_price']; ?>" />
|
||||||
|
</div>
|
||||||
|
<p class="min"><?= $arParams['CAR_PRICE_MIN'] / 1000000; ?> млн</p>
|
||||||
|
<p class="max"><?= $arParams['CAR_PRICE_MAX'] / 1000000; ?> млн</p>
|
||||||
|
</div>
|
||||||
|
<div class="settings_box">
|
||||||
|
<p>Первоначальный взнос</p>
|
||||||
|
<p><output></output> %</p>
|
||||||
|
<div class="line">
|
||||||
|
<input id="calculation_initial_payment" data-slider-name="initial_payment" type="range" min="<?= $arParams['INITIAL_PAYMENT_MIN'];?>" max="<?= $arParams['INITIAL_PAYMENT_MAX'];?>" data-rangeslider value="<?= $arParams['initial_payment']; ?>" />
|
||||||
|
</div>
|
||||||
|
<p class="min"><?= $arParams['INITIAL_PAYMENT_MIN'];?>%</p>
|
||||||
|
<p class="max"><?= $arParams['INITIAL_PAYMENT_MAX'];?>%</p>
|
||||||
|
</div>
|
||||||
|
<div class="settings_box">
|
||||||
|
<p>Срок договора</p>
|
||||||
|
<p><output></output> мес.</p>
|
||||||
|
<div class="line">
|
||||||
|
<input id="calculation_lease_period" data-slider-name="lease_period" type="range" min="<?= $arParams['LEASE_PERIOD_MIN']; ?>" max="<?= $arParams['LEASE_PERIOD_MAX']; ?>" data-rangeslider value="<?= $arParams['lease_period']; ?>" />
|
||||||
|
</div>
|
||||||
|
<p class="min"><?= $arParams['LEASE_PERIOD_MIN']; ?> мес.</p>
|
||||||
|
<p class="max"><?= $arParams['LEASE_PERIOD_MAX']; ?> мес.</p>
|
||||||
|
</div>
|
||||||
|
<div class="settings_box">
|
||||||
|
<p>Выкупной платеж</p>
|
||||||
|
<p><output></output> %</p>
|
||||||
|
<div class="line">
|
||||||
|
<input id="calculation_redemption_payment" data-slider-name="redemption_payment" type="range" min="<?= $arParams['REDEMPTION_PAYMENT_MIN']; ?>" max="<?= $arParams['REDEMPTION_PAYMENT_MAX']; ?>" data-rangeslider value="<?= $arParams['redemption_payment']; ?>" />
|
||||||
|
</div>
|
||||||
|
<p class="min"><?= $arParams['REDEMPTION_PAYMENT_MIN']; ?>%</p>
|
||||||
|
<p class="max"><?= $arParams['REDEMPTION_PAYMENT_MAX']; ?>%</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="calc_result">
|
||||||
|
<div class="result_box bolder">
|
||||||
|
<p>Ежемесячный платеж</p>
|
||||||
|
<p><span id="calculator_monthly_payment_value"><?= number_format($arResult['CALCULATION']['monthly_payment'], 0, '.', ' '); ?></span> ₽</p>
|
||||||
|
</div>
|
||||||
|
<div class="result_box">
|
||||||
|
<p>Экономия по налогу на прибыль (до)</p>
|
||||||
|
<p><span id="calculator_tax_savings_value"><?= number_format($arResult['CALCULATION']['tax_savings'], 0, '.', ' '); ?></span> ₽</p>
|
||||||
|
</div>
|
||||||
|
<div class="result_box">
|
||||||
|
<p>НДС к возмещению из бюджета (до)</p>
|
||||||
|
<p><span id="calculator_vat_reimbursement_value"><?= number_format($arResult['CALCULATION']['vat_reimbursement'], 0, '.', ' '); ?></span> ₽</p>
|
||||||
|
</div>
|
||||||
|
<div class="calc_footer">
|
||||||
|
<a href="#order" class="button button-blue">Отправить заявку</a>
|
||||||
|
<button class="button button-blue" id="calculation_reset">Сбросить к базовым значениям</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<? $APPLICATION->IncludeComponent(
|
||||||
|
"evolution:catalog.other.positions",
|
||||||
|
"",
|
||||||
|
Array(
|
||||||
|
"EXCEPT" => $arResult['ID'],
|
||||||
|
"BRAND_ID" => $arResult['PROPERTIES']['BRAND']['RELATED']['ID'],
|
||||||
|
"BRAND_CODE" => $arResult['PROPERTIES']['BRAND']['RELATED']['CODE'],
|
||||||
|
"BRAND_NAME" => $arResult['PROPERTIES']['BRAND']['RELATED']['NAME'],
|
||||||
|
"MODEL_ID" => $arResult['PROPERTIES']['MODEL']['RELATED']['ID'],
|
||||||
|
"MODEL_CODE" => $arResult['PROPERTIES']['MODEL']['RELATED']['CODE'],
|
||||||
|
"MODEL_NAME" => $arResult['PROPERTIES']['MODEL']['RELATED']['NAME'],
|
||||||
|
)
|
||||||
|
); ?>
|
||||||
|
<?/*
|
||||||
|
<div class="recom_models">
|
||||||
|
<div class="title_wrapper">
|
||||||
|
<p class="title">Другие модели Audi A3 Sedan</p>
|
||||||
|
<a href="#" class="button button-transparent">Показать все</a>
|
||||||
|
</div>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="#">
|
||||||
|
<span>Haval</span>
|
||||||
|
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="#">
|
||||||
|
<span>Haval</span>
|
||||||
|
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="#">
|
||||||
|
<span>Haval</span>
|
||||||
|
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
*/?>
|
||||||
|
<? $APPLICATION->IncludeComponent(
|
||||||
|
"evolution:catalog.recommended.models",
|
||||||
|
"",
|
||||||
|
Array(
|
||||||
|
"EXCEPT" => $arResult['PROPERTIES']['MODEL']['RELATED']['ID'],
|
||||||
|
"BRAND_UID" => $arResult['PROPERTIES']['BRAND']['RELATED']['PROPERTIES']['UID']['VALUE'],
|
||||||
|
"BRAND_CODE" => $arResult['PROPERTIES']['BRAND']['RELATED']['CODE'],
|
||||||
|
"BRAND_NAME" => $arResult['PROPERTIES']['BRAND']['RELATED']['NAME'],
|
||||||
|
)
|
||||||
|
); ?>
|
||||||
|
<?/*
|
||||||
|
<div class="recom_models">
|
||||||
|
<div class="title_wrapper">
|
||||||
|
<p class="title">Рекомендуемые модели Audi для вас</p>
|
||||||
|
<a href="#" class="button button-transparent">Показать все</a>
|
||||||
|
</div>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="#">
|
||||||
|
<span>Haval</span>
|
||||||
|
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="#">
|
||||||
|
<span>Haval</span>
|
||||||
|
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="#">
|
||||||
|
<span>Haval</span>
|
||||||
|
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
*/?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
58
local/components/evolution/catalog.promo.brand/component.php
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<?
|
||||||
|
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;
|
||||||
|
|
||||||
|
global $NavNum;
|
||||||
|
$NavNum = 0;
|
||||||
|
|
||||||
|
if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
|
||||||
|
{
|
||||||
|
if(CModule::IncludeModule('iblock'))
|
||||||
|
{
|
||||||
|
$arResult = [
|
||||||
|
'BRANDS' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
$brands_res = CIBlockElement::GetList([ "SORT" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_BRANDS, "PROPERTY_PROMO_VALUE" => "Да" ], false, []);
|
||||||
|
while ($brands_element = $brands_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$brands_ar_res = $brands_element->GetFields();
|
||||||
|
$brands_ar_res['ITEMS'] = [];
|
||||||
|
|
||||||
|
$position_res = CIBlockElement::GetList([ "NAME" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => 1, "PROPERTY_BRAND" => $brands_ar_res['ID'], ], false, [ "nPageSize" => 3 ]);
|
||||||
|
|
||||||
|
while ($position_element = $position_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$ar_res = $position_element->GetFields();
|
||||||
|
$ar_res['PROPERTIES'] = $position_element->GetProperties();
|
||||||
|
$ar_res['PROPERTIES']['BRAND']['RELATED'] = get_related(8, $ar_res['PROPERTIES']['BRAND']['VALUE']);
|
||||||
|
$ar_res['PROPERTIES']['MODEL']['RELATED'] = get_related(9, $ar_res['PROPERTIES']['MODEL']['VALUE']);
|
||||||
|
$ar_res['PROPERTIES']['MODIFICATION']['RELATED'] = get_related(10, $ar_res['PROPERTIES']['MODIFICATION']['VALUE']);
|
||||||
|
|
||||||
|
$ar_res['CALCULATION'] = [];
|
||||||
|
$ar_res['CALCULATION']['MONTHLY'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 10), 0, ".", " ");
|
||||||
|
$ar_res['CALCULATION']['SAVINGS_TAX'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 4), 0, ".", " ");
|
||||||
|
$ar_res['CALCULATION']['SAVINGS_VAT'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 4), 0, ".", " ");
|
||||||
|
|
||||||
|
$brands_ar_res['ITEMS'][] = $ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$arResult['BRANDS'][] = $brands_ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Промо марки в каталоге";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Промо марки в каталоге";
|
||||||
|
?>
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<? if(count($arResult['BRANDS']) > 0): ?>
|
||||||
|
<? foreach($arResult['BRANDS'] AS $brand): ?>
|
||||||
|
<h2 class="catalog_h2_title"><?= $brand['NAME']; ?></h2>
|
||||||
|
<div id="list" class="catalog_list">
|
||||||
|
<? foreach($brand['ITEMS'] AS $arItem): ?>
|
||||||
|
<div class="catalog_item catalog_item_with_button">
|
||||||
|
<a href="/car/<?= $arItem['CODE']; ?>/" class="item_link" area-label="<?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?>"></a>
|
||||||
|
<img src="<?= $arItem['PROPERTIES']['IMAGE_URL']['VALUE']; ?>" alt="<?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['BODY']['VALUE']; ?>" />
|
||||||
|
<p class="item_class"><?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['BODY']['VALUE']; ?></p>
|
||||||
|
<p class="item_model">
|
||||||
|
<b><?= $arItem['PROPERTIES']['MODIFICATION']['RELATED']['PROPERTIES']['TITLE']['VALUE']; ?></b>
|
||||||
|
<?= $arItem['PROPERTIES']['ENGINE_FUEL']['VALUE']; ?>, <?= $arItem['PROPERTIES']['GEAR']['VALUE']; ?>, <?= $arItem['PROPERTIES']['ENGINE_POWER']['VALUE']; ?> л.с.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li class="pay">
|
||||||
|
<p>Ежемесячный платёж (от)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['MONTHLY']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Стоимость автомобиля (от)</p>
|
||||||
|
<p><?= number_format($arItem['PROPERTIES']['PRICE']['VALUE'], 0, ".", " "); ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Экономия по налогу на прибыль (до)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['SAVINGS_TAX']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>НДС к возмещению из бюджета (до)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['SAVINGS_VAT']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="item_footer">
|
||||||
|
<span class="button button-blue">Рассчитать график</span>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
</div>
|
||||||
|
<? endforeach; ?>
|
||||||
|
</div>
|
||||||
|
<a class="catalog_show_more_button" href="/catalog/<?= $brand['CODE']; ?>/">
|
||||||
|
<span>Показать еще</span>
|
||||||
|
</a>
|
||||||
|
<? endforeach; ?>
|
||||||
|
<? endif; ?>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
58
local/components/evolution/catalog.promo.model/component.php
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<?
|
||||||
|
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;
|
||||||
|
|
||||||
|
global $NavNum;
|
||||||
|
$NavNum = 0;
|
||||||
|
|
||||||
|
if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
|
||||||
|
{
|
||||||
|
if(CModule::IncludeModule('iblock'))
|
||||||
|
{
|
||||||
|
$arResult = [
|
||||||
|
'MODELS' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
$models_res = CIBlockElement::GetList([ "SORT" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_MODELS, "PROPERTY_BRAND_UID" => $arParams['BRAND_UID'], "PROPERTY_PROMO_VALUE" => "Да" ], false, []);
|
||||||
|
while ($models_element = $models_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$models_ar_res = $models_element->GetFields();
|
||||||
|
$models_ar_res['ITEMS'] = [];
|
||||||
|
|
||||||
|
$position_res = CIBlockElement::GetList([ "NAME" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => 1, "PROPERTY_MODEL" => $models_ar_res['ID'], ], false, [ "nPageSize" => 3 ]);
|
||||||
|
|
||||||
|
while ($position_element = $position_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$ar_res = $position_element->GetFields();
|
||||||
|
$ar_res['PROPERTIES'] = $position_element->GetProperties();
|
||||||
|
$ar_res['PROPERTIES']['BRAND']['RELATED'] = get_related(8, $ar_res['PROPERTIES']['BRAND']['VALUE']);
|
||||||
|
$ar_res['PROPERTIES']['MODEL']['RELATED'] = get_related(9, $ar_res['PROPERTIES']['MODEL']['VALUE']);
|
||||||
|
$ar_res['PROPERTIES']['MODIFICATION']['RELATED'] = get_related(10, $ar_res['PROPERTIES']['MODIFICATION']['VALUE']);
|
||||||
|
|
||||||
|
$ar_res['CALCULATION'] = [];
|
||||||
|
$ar_res['CALCULATION']['MONTHLY'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 10), 0, ".", " ");
|
||||||
|
$ar_res['CALCULATION']['SAVINGS_TAX'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 4), 0, ".", " ");
|
||||||
|
$ar_res['CALCULATION']['SAVINGS_VAT'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 4), 0, ".", " ");
|
||||||
|
|
||||||
|
$models_ar_res['ITEMS'][] = $ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$arResult['MODELS'][] = $models_ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Промо модели для марки в каталоге";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Промо модели для марки в каталоге";
|
||||||
|
?>
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<? if(count($arResult['MODELS']) > 0): ?>
|
||||||
|
<? foreach($arResult['MODELS'] AS $model): ?>
|
||||||
|
<h2 class="catalog_h2_title"><?= $arParams['BRAND_NAME']; ?> <?= $model['NAME']; ?></h2>
|
||||||
|
<div id="list" class="catalog_list">
|
||||||
|
<? foreach($model['ITEMS'] AS $arItem): ?>
|
||||||
|
<div class="catalog_item catalog_item_with_button">
|
||||||
|
<a href="/car/<?= $arItem['CODE']; ?>/" class="item_link" area-label="<?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?>"></a>
|
||||||
|
<img src="<?= $arItem['PROPERTIES']['IMAGE_URL']['VALUE']; ?>" alt="<?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['BODY']['VALUE']; ?>" />
|
||||||
|
<p class="item_class"><?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['BODY']['VALUE']; ?></p>
|
||||||
|
<p class="item_model">
|
||||||
|
<b><?= $arItem['PROPERTIES']['MODIFICATION']['RELATED']['PROPERTIES']['TITLE']['VALUE']; ?></b>
|
||||||
|
<?= $arItem['PROPERTIES']['ENGINE_FUEL']['VALUE']; ?>, <?= $arItem['PROPERTIES']['GEAR']['VALUE']; ?>, <?= $arItem['PROPERTIES']['ENGINE_POWER']['VALUE']; ?> л.с.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li class="pay">
|
||||||
|
<p>Ежемесячный платёж (от)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['MONTHLY']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Стоимость автомобиля (от)</p>
|
||||||
|
<p><?= number_format($arItem['PROPERTIES']['PRICE']['VALUE'], 0, ".", " "); ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Экономия по налогу на прибыль (до)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['SAVINGS_TAX']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>НДС к возмещению из бюджета (до)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['SAVINGS_VAT']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="item_footer">
|
||||||
|
<span class="button button-blue">Рассчитать график</span>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
</div>
|
||||||
|
<? endforeach; ?>
|
||||||
|
</div>
|
||||||
|
<a class="catalog_show_more_button" href="/catalog/<?= $arParams['BRAND_CODE']; ?>/<?= $model['CODE']; ?>/">
|
||||||
|
<span>Показать еще</span>
|
||||||
|
</a>
|
||||||
|
<? endforeach; ?>
|
||||||
|
<? endif; ?>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
@ -0,0 +1,58 @@
|
|||||||
|
<?
|
||||||
|
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;
|
||||||
|
|
||||||
|
global $NavNum;
|
||||||
|
$NavNum = 0;
|
||||||
|
|
||||||
|
if(CModule::IncludeModule('iblock'))
|
||||||
|
{
|
||||||
|
$arResult = [
|
||||||
|
'MODELS' => [],
|
||||||
|
];
|
||||||
|
$options = Array( "nPageSize" => 6 );
|
||||||
|
|
||||||
|
$models_res = CIBlockElement::GetList([ "RAND" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_MODELS, "PROPERTY_BRAND_UID" => $arParams['BRAND_UID'], "!ID" => $arParams['EXCEPT'] ], false, $options);
|
||||||
|
while ($models_ob_element = $models_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$models_ar_res = $models_ob_element->GetFields();
|
||||||
|
$models_ar_res['PROPERTIES'] = $models_ob_element->GetProperties();
|
||||||
|
|
||||||
|
if(!empty($models_ar_res['PREVIEW_PICTURE']))
|
||||||
|
{
|
||||||
|
$models_ar_res['IMAGE_PREPARED'] = true;
|
||||||
|
$models_ar_res['PREVIEW_PICTURE'] = CFile::GetPath($models_ar_res['PREVIEW_PICTURE']);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$cars_res = CIBlockElement::GetList([ "NAME" => "ASC" ], [ "ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_CATALOG_CARS_NEW, "PROPERTY_MODEL" => $models_ar_res['ID'] ], false, [ "nPageSize" => 1 ]);
|
||||||
|
while ($cars_ob_element = $cars_res->GetNextElement())
|
||||||
|
{
|
||||||
|
$cars_ar_res = $cars_ob_element->GetFields();
|
||||||
|
$cars_ar_res['PROPERTIES'] = $cars_ob_element->GetProperties();
|
||||||
|
|
||||||
|
$models_ar_res['IMAGE_PREPARED'] = false;
|
||||||
|
$models_ar_res['PREVIEW_PICTURE'] = $cars_ar_res['PROPERTIES']['IMAGE_URL']['VALUE'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$models_ar_res['URL'] = "/catalog/".$arParams['BRAND_CODE']."/".$models_ar_res['CODE']."/";
|
||||||
|
|
||||||
|
$arResult['MODELS'][] = $models_ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Рекомендуемые модели для позиции";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Рекомендуемые модели для позиции";
|
||||||
|
?>
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<? if(count($arResult['MODELS']) > 0): ?>
|
||||||
|
<div class="recom_models">
|
||||||
|
<div class="title_wrapper">
|
||||||
|
<p class="title">Рекомендуемые модели <?= $arParams['BRAND_NAME']; ?> для Вас</p>
|
||||||
|
<?/*<a href="/catalog/<?= $arParams['BRAND_CODE']; ?>/" class="button button-transparent">Показать все</a>*/?>
|
||||||
|
</div>
|
||||||
|
<? foreach($arResult['MODELS'] AS $model): ?>
|
||||||
|
<div class="other_item">
|
||||||
|
<a href="<?= $model['URL']; ?>">
|
||||||
|
<span><?= $model['NAME']; ?></span>
|
||||||
|
<img src="<?= ($model['PREVIEW_PICTURE'] != "") ? $model['PREVIEW_PICTURE'] : "/images/no_car_photo_380.png"; ?>" alt="<?= $model['NAME']; ?>" loading="lazy" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<? endforeach; ?>
|
||||||
|
<a class="catalog_show_more_button" href="/catalog/<?= $arParams['BRAND_CODE']; ?>/" style="margin-bottom: 0px;">
|
||||||
|
<span>Показать все</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<? endif; ?>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?
|
||||||
|
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
||||||
|
|
||||||
|
$arTemplateDescription = array(
|
||||||
|
"NAME" => GetMessage("DEFAULT_NAME"),
|
||||||
|
"DESCRIPTION" => GetMessage("DEFAULT_DESC"),
|
||||||
|
);
|
||||||
|
?>
|
||||||
@ -0,0 +1,63 @@
|
|||||||
|
<?
|
||||||
|
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;
|
||||||
|
|
||||||
|
global $NavNum;
|
||||||
|
$NavNum = 0;
|
||||||
|
|
||||||
|
if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
|
||||||
|
{
|
||||||
|
if(CModule::IncludeModule('iblock'))
|
||||||
|
{
|
||||||
|
$arResult = [
|
||||||
|
'ITEMS' => []
|
||||||
|
];
|
||||||
|
|
||||||
|
$query = null;
|
||||||
|
$query_arr = [];
|
||||||
|
|
||||||
|
$sort = [ "RAND" => "ASC" ];
|
||||||
|
$filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => 1);
|
||||||
|
$options = Array("nPageSize" => $arParams['COUNT']);
|
||||||
|
|
||||||
|
$filter['PROPERTY_SPECIAL_OFFER_VALUE'] = "Да";
|
||||||
|
|
||||||
|
if(!empty($arParams['BRAND_ID']))
|
||||||
|
{
|
||||||
|
$filter['PROPERTY_BRAND'] = $arParams['BRAND_ID'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = CIBlockElement::GetList($sort, $filter, false, $options);
|
||||||
|
|
||||||
|
while ($obElement = $res->GetNextElement())
|
||||||
|
{
|
||||||
|
$ar_res = $obElement->GetFields();
|
||||||
|
$ar_res['PROPERTIES'] = $obElement->GetProperties();
|
||||||
|
$ar_res['PROPERTIES']['BRAND']['RELATED'] = get_related(8, $ar_res['PROPERTIES']['BRAND']['VALUE']);
|
||||||
|
$ar_res['PROPERTIES']['MODEL']['RELATED'] = get_related(9, $ar_res['PROPERTIES']['MODEL']['VALUE']);
|
||||||
|
$ar_res['PROPERTIES']['MODIFICATION']['RELATED'] = get_related(10, $ar_res['PROPERTIES']['MODIFICATION']['VALUE']);
|
||||||
|
|
||||||
|
$ar_res['CALCULATION'] = [];
|
||||||
|
$ar_res['CALCULATION']['MONTHLY'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 10), 0, ".", " ");
|
||||||
|
$ar_res['CALCULATION']['SAVINGS_TAX'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 4), 0, ".", " ");
|
||||||
|
$ar_res['CALCULATION']['SAVINGS_VAT'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 4), 0, ".", " ");
|
||||||
|
|
||||||
|
$arResult['ITEMS'][] = $ar_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->IncludeComponentTemplate();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['DEFAULT_NAME'] = "Список специальных предложений из каталога ЛКТ";
|
||||||
|
$MESS ['DEFAULT_DESC'] = "Список специальных предложений из каталога ЛКТ ";
|
||||||
|
?>
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
<?
|
||||||
|
$MESS ['COUNT'] = "Количество специальных предложений";
|
||||||
|
?>
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
<?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 */
|
||||||
|
$this->setFrameMode(true);
|
||||||
|
?>
|
||||||
|
<? if(count($arResult['ITEMS']) > 0): ?>
|
||||||
|
<h2 class="catalog_h2_title <?= $arParams['EXTENDED'] ? "catalog_h2_title_with_filter" : ""; ?>" id="catalog_special_h2">Спецпредложения</h2>
|
||||||
|
<div id="list" class="catalog_list">
|
||||||
|
<? foreach($arResult['ITEMS'] AS $arItem): ?>
|
||||||
|
<div class="catalog_item">
|
||||||
|
<a href="/car/<?= $arItem['CODE']; ?>/" class="item_link" area-label="<?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?>"></a>
|
||||||
|
<img src="<?= $arItem['PROPERTIES']['IMAGE_URL']['VALUE']; ?>" alt="<?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['BODY']['VALUE']; ?>" />
|
||||||
|
<p class="item_class"><?= $arItem['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> <?= $arItem['PROPERTIES']['BODY']['VALUE']; ?></p>
|
||||||
|
<p class="item_model">
|
||||||
|
<b><?= $arItem['PROPERTIES']['MODIFICATION']['RELATED']['PROPERTIES']['TITLE']['VALUE']; ?></b>
|
||||||
|
<?= $arItem['PROPERTIES']['ENGINE_FUEL']['VALUE']; ?>, <?= $arItem['PROPERTIES']['GEAR']['VALUE']; ?>, <?= $arItem['PROPERTIES']['ENGINE_POWER']['VALUE']; ?> л.с.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li class="pay">
|
||||||
|
<p>Ежемесячный платёж (от)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['MONTHLY']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Стоимость автомобиля (от)</p>
|
||||||
|
<p><?= number_format($arItem['PROPERTIES']['PRICE']['VALUE'], 0, ".", " "); ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Экономия по налогу на прибыль (до)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['SAVINGS_TAX']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>НДС к возмещению из бюджета (до)</p>
|
||||||
|
<p><?= $arItem['CALCULATION']['SAVINGS_VAT']; ?> р.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="item_footer">
|
||||||
|
<span class="button button-blue">Рассчитать график</span>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
</div>
|
||||||
|
<? endforeach; ?>
|
||||||
|
</div>
|
||||||
|
<? endif; ?>
|
||||||