SEO & marketing updates for company

This commit is contained in:
merelendor 2022-11-24 08:39:31 +03:00
commit 137a0ba97c
174 changed files with 13944 additions and 2714 deletions

View File

@ -1,5 +1,12 @@
<? <?
$aMenuLinks = Array( $aMenuLinks = Array(
Array(
"О компании",
"/about/",
Array(),
Array(),
""
),
Array( Array(
"Новости", "Новости",
"/about/news/", "/about/news/",

2
.gitignore vendored
View File

@ -7,4 +7,4 @@ sitemap*
.xml .xml
.htsecure .htsecure
cron/yasprav.log cron/yasprav.log
local/yasprav.log vizitka/tmp/

View File

@ -1,22 +1,8 @@
<? <?
$aMenuLinks = Array( $aMenuLinks = Array(
Array( Array(
"Программы", "О компании",
"/programs/", "/about/",
Array(),
Array(),
""
),
Array(
"Спецпредложения",
"/special/",
Array(),
Array(),
""
),
Array(
"Сервисы",
"/services/",
Array(), Array(),
Array(), Array(),
"" ""
@ -29,11 +15,32 @@ $aMenuLinks = Array(
"" ""
), ),
Array( Array(
"О компании", "Спецпредложения",
"/about/", "/special/",
Array(), Array(),
Array(), Array(),
"" ""
) ),
Array(
"Программы",
"/programs/",
Array(),
Array(),
""
),
Array(
"Сервисы",
"/services/",
Array(),
Array(),
""
),
Array(
"Контакты",
"/about/contacts/",
Array(),
Array(),
""
),
); );
?> ?>

View File

@ -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(

View File

@ -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",

View File

@ -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/"/>');
?>
<?
$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>

View File

@ -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(

View File

@ -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">

View File

@ -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>

View File

@ -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",

File diff suppressed because it is too large Load Diff

View File

@ -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'],

View File

@ -5,9 +5,9 @@ $APPLICATION->SetTitle("Эволюция автолизинга: Вместе с
<div class="container"> <div class="container">
<h1 class="section_title">Вместе с МКБ</h1> <h1 class="section_title">Вместе с МКБ</h1>
<article> <article>
<h2><img width="500" alt="mkblogo500v2.png" src="/upload/medialibrary/33a/sd4iqi4n21vfqg00k5dhpolto24gmqro.png" height="210" title="mkblogo500v2.png" style="max-width:100%"><br> <h2><img alt="mkb500.png" src="/upload/medialibrary/a73/c7qhj78kedljpx74jkcbsr5zylm6qd8d.png" title="mkb500.png" style="max-width:100%"><br>
</h2> </h2>
<h2><span style="color: #e81c62;">2% - субсидия на авансовый платёж для клиентов МКБ</span></h2> <h2><span style="color: #e81c62;">Специальные условия по лизингу для клиентов МКБ</span></h2>
<h2>Лучшие условия финансирования среди лизинговых компаний за счет собственного фондирования</h2> <h2>Лучшие условия финансирования среди лизинговых компаний за счет собственного фондирования</h2>
<ul class="special_desc list-column"> <ul class="special_desc list-column">
<li>Рассмотрение заявки по 2-м документам (анкета и паспорт).</li> <li>Рассмотрение заявки по 2-м документам (анкета и паспорт).</li>

View File

@ -1 +0,0 @@
<pre>1 => MO1</pre><pre>2 => SP1</pre><pre>3 => BN1</pre><pre>4 => BG1</pre><pre>5 => VL1</pre><pre>6 => VR1</pre><pre>7 => EK1</pre><pre>8 => IR1</pre><pre>9 => KZ1</pre><pre>10 => KG1</pre><pre>11 => KL1</pre><pre>12 => KM1</pre><pre>13 => KR1</pre><pre>14 => KS2</pre><pre>15 => KS1</pre><pre>16 => LP1</pre><pre>17 => NC1</pre><pre>18 => NN1</pre><pre>19 => NV1</pre><pre>20 => NR1</pre><pre>21 => NS1</pre><pre>22 => OM1</pre><pre>23 => OR1</pre><pre>24 => PR1</pre><pre>25 => RD1</pre><pre>26 => RZ1</pre><pre>27 => SM1</pre><pre>28 => SR1</pre><pre>29 => SC1</pre><pre>30 => SK1</pre><pre>31 => ST1</pre><pre>32 => SG1</pre><pre>33 => TL1</pre><pre>34 => TM1</pre><pre>35 => UF1</pre><pre>36 => CB1</pre><pre>37 => CL1</pre><pre>38 => YR1</pre><pre></pre><pre></pre>Ok! Сохранено по <a href='https://www.evoleasing.ru/upload/docs/yasprav.xml'>ссылке!</a> 24.06.2022

View File

@ -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

View 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/manager.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
images/no_car_photo_380.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
images/programs_faq.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -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,7 @@ $APPLICATION->SetTitle("Эволюция автолизинга. Лизинг а
); ?> ); ?>
</div> </div>
</section> </section>
[<?= date('w'); ?>]
<? $APPLICATION->IncludeComponent( <? $APPLICATION->IncludeComponent(
"evolution:calculator", "evolution:calculator",
"", "",

View 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();
?>

View File

@ -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();

View File

@ -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);
});
} }
}); });
@ -74,3 +85,38 @@ $(function()
}, 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);
});
}

View File

@ -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>

View File

@ -21,7 +21,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
{ {
$arResult = []; $arResult = [];
$sort = Array("SORT" => "ASC", "NAME" => "ASC"); $sort = Array("SORT" => "ASC", "NAME" => "ASC");
$filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => 23); $filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_ABOUTCOMPANY_LEADERS);
$options = Array("nPageSize" => 1000); $options = Array("nPageSize" => 1000);
$res = CIBlockElement::GetList($sort, $filter, false, $options); $res = CIBlockElement::GetList($sort, $filter, false, $options);

View File

@ -12,13 +12,15 @@
/** @var CBitrixComponent $component */ /** @var CBitrixComponent $component */
$this->setFrameMode(true); $this->setFrameMode(true);
?> ?>
<h2>Руководство</h2> <? if(count($arResult['LEADERS']) > 0): ?>
<div class="management"> <h2>Руководство</h2>
<? foreach($arResult['LEADERS'] AS $leader): ?> <div class="management">
<div class="person"> <? foreach($arResult['LEADERS'] AS $leader): ?>
<img src="<?= $leader['PREVIEW_PICTURE']; ?>" loading="lazy" alt="<?= $leader['NAME']; ?>" /> <div class="person">
<p class="name"><?= $leader['NAME']; ?></p> <img src="<?= $leader['PREVIEW_PICTURE']; ?>" loading="lazy" alt="<?= $leader['NAME']; ?>" />
<p><?= $leader['PREVIEW_TEXT']; ?></p> <p class="name"><?= $leader['NAME']; ?></p>
<p><?= $leader['PREVIEW_TEXT']; ?></p>
</div>
<? endforeach; ?>
</div> </div>
<? endforeach; ?> <? endif; ?>
</div>

View File

@ -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();

View File

@ -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>

View File

@ -21,7 +21,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
{ {
$arResult = []; $arResult = [];
$sort = Array("PROPERTY_YEAR" => "DESC", "SORT" => "DESC",); $sort = Array("PROPERTY_YEAR" => "DESC", "SORT" => "DESC",);
$filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => 22); $filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => IBLOCK_ID_ABOUTCOMPANY_ROADMAP);
$options = Array("nPageSize" => 1000); $options = Array("nPageSize" => 1000);
$res = CIBlockElement::GetList($sort, $filter, false, $options); $res = CIBlockElement::GetList($sort, $filter, false, $options);

View File

@ -21,7 +21,7 @@ $this->setFrameMode(true);
<span>путь развития</span> <span>путь развития</span>
</p> </p>
<? if(!empty($arParams['PRESENTATION_URL'])): ?> <? if(!empty($arParams['PRESENTATION_URL'])): ?>
<a href="<?= $arParams['PRESENTATION_URL']; ?>" class="button button-blue">Скачать презентацию</a> <a href="<?= $arParams['PRESENTATION_URL']; ?>" class="button button-blue" target="_blank">Скачать презентацию</a>
<? endif; ?> <? endif; ?>
</div> </div>
<div class="history"> <div class="history">
@ -31,7 +31,7 @@ $this->setFrameMode(true);
<? foreach($periods AS $period): ?> <? foreach($periods AS $period): ?>
<div class="month"> <div class="month">
<p><?= $period['PROPERTIES']['MONTH']['VALUE']; ?></p> <p><?= $period['PROPERTIES']['MONTH']['VALUE']; ?></p>
<p><?= $period['PREVIEW_TEXT']; ?></p> <p><?= str_replace(["<p>", "</p>"], ["", "<br>"], $period['PREVIEW_TEXT']); ?></p>
</div> </div>
<? endforeach; ?> <? endforeach; ?>
</div> </div>

View 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"),
);
?>

View 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();

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Баннер в каталоге 'Спросить у консультанта'";
$MESS ['DEFAULT_DESC'] = "Баннер в каталоге 'Спросить у консультанта'";
?>

View File

@ -0,0 +1,9 @@
$(function()
{
$("#to_form_button").on("click", function(event)
{
$('html, body').animate({
scrollTop: $("#order").offset().top - 100
}, 200);
});
});

View File

@ -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>

View 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"),
);
?>

View 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();
}
}

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Внутренний баннер";
$MESS ['DEFAULT_DESC'] = "Внутренний баннер";
?>

View File

@ -0,0 +1,9 @@
$(function()
{
$("#to_form_button").on("click", function(event)
{
$('html, body').animate({
scrollTop: $("#order").offset().top - 100
}, 200);
});
});

View File

@ -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>

View 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"),
);
?>

View 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();
}
}

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Кнопка \"Обратный звонок\"";
$MESS ['DEFAULT_DESC'] = "Кнопка \"Обратный звонок\"";
?>

View File

@ -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; ?>

View File

@ -33,6 +33,18 @@ use Bitrix\Main\Context,
{ {
$brands_ar_res['PREVIEW_PICTURE'] = CFile::GetPath($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; $arResult['BRANDS'][] = $brands_ar_res;
} }

View File

@ -1,423 +0,0 @@
/*
var selected = {};
var inputs = {};
function formCatalogFilter(props)
{
console.log("props???");
console.log(props);
selected = props;
$(".filter_header .tabs .tab").on("click", function()
{
$(".filter_header .tabs .tab").removeClass("active");
$(this).addClass("active");
});
}
function updateCounter(parameters)
{
console.log("updateCounter", parameters);
$("#catalog_filter_spinner").show();
$("#catalog_filter_search_button_counter").hide();
var params = {};
for(let i in parameters)
{
if(parameters[i] !== undefined) { params[i] = parameters[i]; }
}
$.get("/api/catalog/count/", params, function(response)
{
$("#catalog_filter_spinner").hide();
$("#catalog_filter_search_button_counter").text("Показать "+response.total+" вариантов").show();
}, "json");
}
function loadModels(uid)
{
$.post("/api/catalog/models/",
{
BRAND_UID: uid
}, function(response)
{
console.log("loadModels", selected['MODEL_ID'], selected['MODEL']);
$("#small_filter_models").empty();
$("#filter_models").empty();
if(selected['MODEL_ID'] !== undefined)
{
$("#small_filter_models").append("<option value=''>Любая</option>");
$("#filter_models").append("<option value=''>Любая</option>");
}
else
{
if(selected['MODEL'] !== undefined)
{
$("#small_filter_models").append("<option value=''>Любая</option>");
$("#filter_models").append("<option value=''>Любая</option>");
}
else
{
$("#small_filter_models").append("<option value='' disabled>Модель</option>");
$("#filter_models").append("<option value='' disabled>Модель</option>");
}
}
$("#small_filter_models")[0].selectedIndex = 0;
$("#filter_models")[0].selectedIndex = 0;
for(let i in response.models)
{
$("#small_filter_models").append("<option value='"+response.models[i]['CODE']+"' data-id='"+response.models[i]['ID']+"' data-uid='"+response.models[i]['UID']+"'>"+response.models[i]['NAME']+"</option>");
$("#filter_models").append("<option value='"+response.models[i]['CODE']+"' data-id='"+response.models[i]['ID']+"' data-uid='"+response.models[i]['UID']+"'>"+response.models[i]['NAME']+"</option>");
}
if(selected['MODEL'] !== undefined)
{
$("#small_filter_models").val(selected['MODEL']);
$("#filter_models").val(selected['MODEL']);
let id = $("#filter_models").find(':selected').data('id');
selected['MODEL_ID'] = id;
updateCounter(selected);
}
else
{
updateCounter(selected);
}
}, "json");
}
$(function()
{
$.get("/api/catalog/brands/",
{
params: {},
}, function(response)
{
console.log("selected", selected);
//$("#small_filter_brands").empty();
//$("#small_filter_brands").find("option").first().text("Любая").attr("disabled", false);
//$("#filter_brands").find("option").first().text("Любая").attr("disabled", false);
for(let i in response.brands)
{
$("#small_filter_brands").append("<option value='"+response.brands[i]['CODE']+"' data-id='"+response.brands[i]['ID']+"' data-uid='"+response.brands[i]['UID']+"'>"+response.brands[i]['NAME']+"</option>");
$("#filter_brands").append("<option value='"+response.brands[i]['CODE']+"' data-id='"+response.brands[i]['ID']+"' data-uid='"+response.brands[i]['UID']+"'>"+response.brands[i]['NAME']+"</option>");
}
if(selected['BRAND'] !== undefined)
{
$("#small_filter_brands").find("option").first().text("Любая").attr("disabled", false).val('');
$("#filter_brands").find("option").first().text("Любая").attr("disabled", false).val('');
$("#small_filter_brands").val(selected['BRAND']);
$("#filter_brands").val(selected['BRAND']);
let uid = $("#filter_brands").find(':selected').data('uid');
let id = $("#filter_brands").find(':selected').data('id');
selected['BRAND_ID'] = id;
loadModels(uid);
}
else
{
updateCounter(selected);
}
}, "json");
$("#small_filter_brands").on("change", function(event)
{
$("#filter_brands").val(event.target.value);
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
if($(this).val() === "")
{
$("#small_filter_brands").find("option").first().text("Марка").attr("disabled", "disabled");
$("#small_filter_models").empty();
$("#small_filter_models").append("<option value='' disabled selected>Модель</option>");
$("#filter_brands").find("option").first().text("Марка").attr("disabled", "disabled");
$("#filter_models").empty();
$("#filter_models").append("<option value='' disabled selected>Модель</option>");
}
else
{
let uid = $(this).find(':selected').data('uid');
let id = $(this).find(':selected').data('id');
selected['BRAND_ID'] = id;
$("#small_filter_brands").find("option").first().text("Любая").attr("disabled", false);
$("#filter_brands").find("option").first().text("Любая").attr("disabled", false);
loadModels(uid);
}
});
$("#small_filter_models").on("change", function(event)
{
if($(this).val() === "")
{
$("#filter_models").val();
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
$("#small_filter_models").find("option").first().text("Модель").attr("disabled", "disabled");
$("#filter_models").find("option").first().text("Модель").attr("disabled", "disabled");
}
else
{
let id = $(this).find(':selected').data('id');
$("#filter_models").val(event.target.value);
selected['MODEL'] = id;
selected['MODEL_ID'] = id;
$("#small_filter_models").find("option").first().text("Любая").attr("disabled", false);
$("#filter_models").find("option").first().text("Любая").attr("disabled", false);
}
});
$("#filter_brands").on("change", function(event)
{
console.log("BBBBB", $(this).val());
if($(this).val() === '')
{
selected['BRAND'] = undefined;
selected['BRAND_ID'] = undefined;
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
$("#small_filter_brands").find("option").first().text("Марка").attr("disabled", "disabled");
$("#small_filter_models").empty();
$("#small_filter_models").append("<option disabled selected>Модель</option>");
$("#filter_brands").find("option").first().text("Марка").attr("disabled", "disabled");
$("#filter_models").empty();
$("#filter_models").append("<option disabled selected>Модель</option>");
updateCounter(selected);
}
else
{
let id = $(this).find(':selected').data('id');
let uid = $(this).find(':selected').data('uid');
selected['BRAND'] = $(this).val();
selected['BRAND_ID'] = id;
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
$("#small_filter_brands").find("option").first().text("Любая").attr("disabled", false);
$("#filter_brands").find("option").first().text("Любая").attr("disabled", false);
loadModels(uid);
}
});
$("#filter_models").on("change", function(event)
{
if($(this).val() === "")
{
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
$("#filter_models").find("option").first().text("Модель").attr("disabled", "disabled");
}
else
{
let id = $(this).find(':selected').data('id');
selected['MODEL_ID'] = id;
$("#filter_models").find("option").first().text("Любая").attr("disabled", false);
}
updateCounter(selected);
});
$("#catalog_small_form").on("submit", function(e)
{
e.preventDefault();
});
$("#catalog_small_find").on("click", function()
{
var path = "/catalog";
if($("#small_filter_brands").val() !== "")
{
path = path+"/"+$("#small_filter_brands").val();
}
if($("#small_filter_models").val() !== "")
{
path = path+"/"+$("#small_filter_models").val();
}
path = path+"/";
window.location.href = path;
//$("#catalog_small_form").submit();
});
$("#rich_filter_toggle").on("click", function()
{
updateCounter(selected);
$("#filter").addClass("visible");
$("#catalog_small_filter").addClass("hidden");
});
$.get("/api/catalog/parameters/",
{
params: {},
}, function(response)
{
for(let i in response.bodies)
{
$("#filter_bodies").append("<option value='"+response.bodies[i]+"'>"+response.bodies[i]+"</option>");
}
if(selected['BODY'] !== undefined && selected['BODY'] !== null && selected['BODY'] !== "")
{
$("#filter_bodies").val(selected['BODY']);
$("#filter_bodies").find("option").first().text("Любой").attr("disabled", false);
}
for(let i in response.gears)
{
$("#filter_gears").append("<option value='"+response.gears[i]+"'>"+response.gears[i]+"</option>");
}
if(selected['GEAR'] !== undefined && selected['GEAR'] !== null && selected['GEAR'] !== "")
{
$("#filter_gears").val(selected['GEAR']);
$("#filter_gears").find("option").first().text("Любая").attr("disabled", false);
}
for(let i in response.engine_fuels)
{
$("#filter_engine_fuels").append("<option value='"+response.engine_fuels[i]+"'>"+response.engine_fuels[i]+"</option>");
}
if(selected['ENGINE_FUEL'] !== undefined && selected['ENGINE_FUEL'] !== null && selected['ENGINE_FUEL'] !== "")
{
$("#filter_engine_fuels").val(selected['ENGINE_FUEL']);
$("#filter_engine_fuels").find("option").first().text("Любой").attr("disabled", false);
}
for(let i in response.drives)
{
$("#filter_drives").append("<option value='"+response.drives[i]+"'>"+response.drives[i]+"</option>");
}
if(selected['DRIVE'] !== undefined && selected['DRIVE'] !== null && selected['DRIVE'] !== "")
{
$("#filter_drives").val(selected['DRIVE']);
$("#filter_drives").find("option").first().text("Любой").attr("disabled", false);
}
if(selected['ENGINE_VOLUME_FROM'] !== undefined && selected['ENGINE_VOLUME_FROM'] !== null && selected['ENGINE_VOLUME_FROM'] !== "")
{
$("#filter_engine_volume_from").val(selected['ENGINE_VOLUME_FROM']);
$("#filter_engine_volume_from").find("option").first().text("Любой").attr("disabled", false);
}
if(selected['ENGINE_VOLUME_TO'] !== undefined && selected['ENGINE_VOLUME_TO'] !== null && selected['ENGINE_VOLUME_TO'] !== "")
{
$("#filter_engine_volume_to").val(selected['ENGINE_VOLUME_TO']);
$("#filter_engine_volume_to").find("option").first().text("Любой").attr("disabled", false);
}
console.log("response", response);
}, "json");
$("#filter_bodies").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Кузов").attr("disabled", "disabled"); }
selected['BODY'] = $(this).val();;
updateCounter(selected);
});
$("#filter_drives").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Привод").attr("disabled", "disabled"); }
selected['DRIVE'] = $(this).val();;
updateCounter(selected);
});
$("#filter_engine_fuels").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Двигатель").attr("disabled", "disabled"); }
selected['ENGINE_FUEL'] = $(this).val();;
updateCounter(selected);
});
$("#filter_gears").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любая").attr("disabled", false); }
else
{ $(this).find("option").first().text("Коробка").attr("disabled", "disabled"); }
selected['GEAR'] = $(this).val();;
updateCounter(selected);
});
$("#catalog_filter_search_button").on("click", function(e)
{
e.preventDefault();
var path = "/catalog";
if($("#filter_brands").val() !== undefined && $("#filter_brands").val() !== null && $("#filter_brands").val() !== "")
{
path = path+"/"+$("#filter_brands").val();
}
if($("#filter_models").val() !== undefined && $("#filter_models").val() !== null && $("#filter_models").val() !== "")
{
path = path+"/"+$("#filter_models").val();
}
var p = {};
for(let i in selected)
{
if(i !== "BRAND" && i !== "BRAND_ID" && i !== "MODEL" && i !== "MODEL_ID")
{
p[i] = selected[i];
}
}
path = path+"/?"+$.param(p);
window.location.href = path;
});
$("#filter_engine_volume_from").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Объем, от").attr("disabled", "disabled"); }
selected['ENGINE_VOLUME_FROM'] = $(this).val();;
updateCounter(selected);
});
$("#filter_engine_volume_to").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Объем, до").attr("disabled", "disabled"); }
selected['ENGINE_VOLUME_TO'] = $(this).val();;
updateCounter(selected);
});
});
*/

View File

@ -12,14 +12,13 @@
/** @var CBitrixComponent $component */ /** @var CBitrixComponent $component */
$this->setFrameMode(true); $this->setFrameMode(true);
?> ?>
<div class="other_models"> <div class="brand_catalogue_list">
<p class="title"><?= $arParams['TITLE']; ?></p> <p class="brand_catalogue_title"><?= $arParams['TITLE']; ?></p>
<? foreach($arResult['BRANDS'] AS $brand): ?> <? foreach($arResult['BRANDS'] AS $brand): ?>
<div class="oher_item"> <div class="brand_catalogue_item">
<a href="/catalog/<?= $brand['CODE']; ?>/"> <a href="/catalog/<?= $brand['CODE']; ?>/">
<span><?= $brand['NAME']; ?></span> <span><?= $brand['NAME']; ?></span>
<!-- <?= print_r($brand); ?>--> <img src="<?= ($brand['PREVIEW_PICTURE'] != "") ? $brand['PREVIEW_PICTURE'] : "/images/no_car_photo_380.png"; ?>" alt="<?= $brand['NAME']; ?>" loading="lazy" />
<img src="<?= ($brand['PREVIEW_PICTURE'] != "") ? $brand['PREVIEW_PICTURE'] : "/images/no_image_380.png"; ?>" alt="<?= $brand['NAME']; ?>" loading="lazy" />
</a> </a>
</div> </div>
<? endforeach; ?> <? endforeach; ?>

View 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"),
);
?>

View 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();

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Позиция в каталоге ЛКТ";
$MESS ['DEFAULT_DESC'] = "Позиция в каталоге ЛКТ";
?>

View File

@ -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>

View File

@ -49,11 +49,25 @@ use Bitrix\Main\Context,
$models_ar_res = $models_ob_element->GetFields(); $models_ar_res = $models_ob_element->GetFields();
$models_ar_res['PROPERTIES'] = $models_ob_element->GetProperties(); $models_ar_res['PROPERTIES'] = $models_ob_element->GetProperties();
if(isset($models_ar_res['PREVIEW_PICTURE'])) 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']); $models_ar_res['PREVIEW_PICTURE'] = CFile::GetPath($models_ar_res['PREVIEW_PICTURE']);
$models_ar_res['URL'] = "/catalog/".$brands[$arParams['BRAND']]['CODE']."/".$models_ar_res['CODE']."/";
} }
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; $arResult['MODELS'][] = $models_ar_res;
} }

View File

@ -1,423 +0,0 @@
/*
var selected = {};
var inputs = {};
function formCatalogFilter(props)
{
console.log("props???");
console.log(props);
selected = props;
$(".filter_header .tabs .tab").on("click", function()
{
$(".filter_header .tabs .tab").removeClass("active");
$(this).addClass("active");
});
}
function updateCounter(parameters)
{
console.log("updateCounter", parameters);
$("#catalog_filter_spinner").show();
$("#catalog_filter_search_button_counter").hide();
var params = {};
for(let i in parameters)
{
if(parameters[i] !== undefined) { params[i] = parameters[i]; }
}
$.get("/api/catalog/count/", params, function(response)
{
$("#catalog_filter_spinner").hide();
$("#catalog_filter_search_button_counter").text("Показать "+response.total+" вариантов").show();
}, "json");
}
function loadModels(uid)
{
$.post("/api/catalog/models/",
{
BRAND_UID: uid
}, function(response)
{
console.log("loadModels", selected['MODEL_ID'], selected['MODEL']);
$("#small_filter_models").empty();
$("#filter_models").empty();
if(selected['MODEL_ID'] !== undefined)
{
$("#small_filter_models").append("<option value=''>Любая</option>");
$("#filter_models").append("<option value=''>Любая</option>");
}
else
{
if(selected['MODEL'] !== undefined)
{
$("#small_filter_models").append("<option value=''>Любая</option>");
$("#filter_models").append("<option value=''>Любая</option>");
}
else
{
$("#small_filter_models").append("<option value='' disabled>Модель</option>");
$("#filter_models").append("<option value='' disabled>Модель</option>");
}
}
$("#small_filter_models")[0].selectedIndex = 0;
$("#filter_models")[0].selectedIndex = 0;
for(let i in response.models)
{
$("#small_filter_models").append("<option value='"+response.models[i]['CODE']+"' data-id='"+response.models[i]['ID']+"' data-uid='"+response.models[i]['UID']+"'>"+response.models[i]['NAME']+"</option>");
$("#filter_models").append("<option value='"+response.models[i]['CODE']+"' data-id='"+response.models[i]['ID']+"' data-uid='"+response.models[i]['UID']+"'>"+response.models[i]['NAME']+"</option>");
}
if(selected['MODEL'] !== undefined)
{
$("#small_filter_models").val(selected['MODEL']);
$("#filter_models").val(selected['MODEL']);
let id = $("#filter_models").find(':selected').data('id');
selected['MODEL_ID'] = id;
updateCounter(selected);
}
else
{
updateCounter(selected);
}
}, "json");
}
$(function()
{
$.get("/api/catalog/brands/",
{
params: {},
}, function(response)
{
console.log("selected", selected);
//$("#small_filter_brands").empty();
//$("#small_filter_brands").find("option").first().text("Любая").attr("disabled", false);
//$("#filter_brands").find("option").first().text("Любая").attr("disabled", false);
for(let i in response.brands)
{
$("#small_filter_brands").append("<option value='"+response.brands[i]['CODE']+"' data-id='"+response.brands[i]['ID']+"' data-uid='"+response.brands[i]['UID']+"'>"+response.brands[i]['NAME']+"</option>");
$("#filter_brands").append("<option value='"+response.brands[i]['CODE']+"' data-id='"+response.brands[i]['ID']+"' data-uid='"+response.brands[i]['UID']+"'>"+response.brands[i]['NAME']+"</option>");
}
if(selected['BRAND'] !== undefined)
{
$("#small_filter_brands").find("option").first().text("Любая").attr("disabled", false).val('');
$("#filter_brands").find("option").first().text("Любая").attr("disabled", false).val('');
$("#small_filter_brands").val(selected['BRAND']);
$("#filter_brands").val(selected['BRAND']);
let uid = $("#filter_brands").find(':selected').data('uid');
let id = $("#filter_brands").find(':selected').data('id');
selected['BRAND_ID'] = id;
loadModels(uid);
}
else
{
updateCounter(selected);
}
}, "json");
$("#small_filter_brands").on("change", function(event)
{
$("#filter_brands").val(event.target.value);
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
if($(this).val() === "")
{
$("#small_filter_brands").find("option").first().text("Марка").attr("disabled", "disabled");
$("#small_filter_models").empty();
$("#small_filter_models").append("<option value='' disabled selected>Модель</option>");
$("#filter_brands").find("option").first().text("Марка").attr("disabled", "disabled");
$("#filter_models").empty();
$("#filter_models").append("<option value='' disabled selected>Модель</option>");
}
else
{
let uid = $(this).find(':selected').data('uid');
let id = $(this).find(':selected').data('id');
selected['BRAND_ID'] = id;
$("#small_filter_brands").find("option").first().text("Любая").attr("disabled", false);
$("#filter_brands").find("option").first().text("Любая").attr("disabled", false);
loadModels(uid);
}
});
$("#small_filter_models").on("change", function(event)
{
if($(this).val() === "")
{
$("#filter_models").val();
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
$("#small_filter_models").find("option").first().text("Модель").attr("disabled", "disabled");
$("#filter_models").find("option").first().text("Модель").attr("disabled", "disabled");
}
else
{
let id = $(this).find(':selected').data('id');
$("#filter_models").val(event.target.value);
selected['MODEL'] = id;
selected['MODEL_ID'] = id;
$("#small_filter_models").find("option").first().text("Любая").attr("disabled", false);
$("#filter_models").find("option").first().text("Любая").attr("disabled", false);
}
});
$("#filter_brands").on("change", function(event)
{
console.log("BBBBB", $(this).val());
if($(this).val() === '')
{
selected['BRAND'] = undefined;
selected['BRAND_ID'] = undefined;
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
$("#small_filter_brands").find("option").first().text("Марка").attr("disabled", "disabled");
$("#small_filter_models").empty();
$("#small_filter_models").append("<option disabled selected>Модель</option>");
$("#filter_brands").find("option").first().text("Марка").attr("disabled", "disabled");
$("#filter_models").empty();
$("#filter_models").append("<option disabled selected>Модель</option>");
updateCounter(selected);
}
else
{
let id = $(this).find(':selected').data('id');
let uid = $(this).find(':selected').data('uid');
selected['BRAND'] = $(this).val();
selected['BRAND_ID'] = id;
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
$("#small_filter_brands").find("option").first().text("Любая").attr("disabled", false);
$("#filter_brands").find("option").first().text("Любая").attr("disabled", false);
loadModels(uid);
}
});
$("#filter_models").on("change", function(event)
{
if($(this).val() === "")
{
selected['MODEL'] = undefined;
selected['MODEL_ID'] = undefined;
$("#filter_models").find("option").first().text("Модель").attr("disabled", "disabled");
}
else
{
let id = $(this).find(':selected').data('id');
selected['MODEL_ID'] = id;
$("#filter_models").find("option").first().text("Любая").attr("disabled", false);
}
updateCounter(selected);
});
$("#catalog_small_form").on("submit", function(e)
{
e.preventDefault();
});
$("#catalog_small_find").on("click", function()
{
var path = "/catalog";
if($("#small_filter_brands").val() !== "")
{
path = path+"/"+$("#small_filter_brands").val();
}
if($("#small_filter_models").val() !== "")
{
path = path+"/"+$("#small_filter_models").val();
}
path = path+"/";
window.location.href = path;
//$("#catalog_small_form").submit();
});
$("#rich_filter_toggle").on("click", function()
{
updateCounter(selected);
$("#filter").addClass("visible");
$("#catalog_small_filter").addClass("hidden");
});
$.get("/api/catalog/parameters/",
{
params: {},
}, function(response)
{
for(let i in response.bodies)
{
$("#filter_bodies").append("<option value='"+response.bodies[i]+"'>"+response.bodies[i]+"</option>");
}
if(selected['BODY'] !== undefined && selected['BODY'] !== null && selected['BODY'] !== "")
{
$("#filter_bodies").val(selected['BODY']);
$("#filter_bodies").find("option").first().text("Любой").attr("disabled", false);
}
for(let i in response.gears)
{
$("#filter_gears").append("<option value='"+response.gears[i]+"'>"+response.gears[i]+"</option>");
}
if(selected['GEAR'] !== undefined && selected['GEAR'] !== null && selected['GEAR'] !== "")
{
$("#filter_gears").val(selected['GEAR']);
$("#filter_gears").find("option").first().text("Любая").attr("disabled", false);
}
for(let i in response.engine_fuels)
{
$("#filter_engine_fuels").append("<option value='"+response.engine_fuels[i]+"'>"+response.engine_fuels[i]+"</option>");
}
if(selected['ENGINE_FUEL'] !== undefined && selected['ENGINE_FUEL'] !== null && selected['ENGINE_FUEL'] !== "")
{
$("#filter_engine_fuels").val(selected['ENGINE_FUEL']);
$("#filter_engine_fuels").find("option").first().text("Любой").attr("disabled", false);
}
for(let i in response.drives)
{
$("#filter_drives").append("<option value='"+response.drives[i]+"'>"+response.drives[i]+"</option>");
}
if(selected['DRIVE'] !== undefined && selected['DRIVE'] !== null && selected['DRIVE'] !== "")
{
$("#filter_drives").val(selected['DRIVE']);
$("#filter_drives").find("option").first().text("Любой").attr("disabled", false);
}
if(selected['ENGINE_VOLUME_FROM'] !== undefined && selected['ENGINE_VOLUME_FROM'] !== null && selected['ENGINE_VOLUME_FROM'] !== "")
{
$("#filter_engine_volume_from").val(selected['ENGINE_VOLUME_FROM']);
$("#filter_engine_volume_from").find("option").first().text("Любой").attr("disabled", false);
}
if(selected['ENGINE_VOLUME_TO'] !== undefined && selected['ENGINE_VOLUME_TO'] !== null && selected['ENGINE_VOLUME_TO'] !== "")
{
$("#filter_engine_volume_to").val(selected['ENGINE_VOLUME_TO']);
$("#filter_engine_volume_to").find("option").first().text("Любой").attr("disabled", false);
}
console.log("response", response);
}, "json");
$("#filter_bodies").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Кузов").attr("disabled", "disabled"); }
selected['BODY'] = $(this).val();;
updateCounter(selected);
});
$("#filter_drives").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Привод").attr("disabled", "disabled"); }
selected['DRIVE'] = $(this).val();;
updateCounter(selected);
});
$("#filter_engine_fuels").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Двигатель").attr("disabled", "disabled"); }
selected['ENGINE_FUEL'] = $(this).val();;
updateCounter(selected);
});
$("#filter_gears").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любая").attr("disabled", false); }
else
{ $(this).find("option").first().text("Коробка").attr("disabled", "disabled"); }
selected['GEAR'] = $(this).val();;
updateCounter(selected);
});
$("#catalog_filter_search_button").on("click", function(e)
{
e.preventDefault();
var path = "/catalog";
if($("#filter_brands").val() !== undefined && $("#filter_brands").val() !== null && $("#filter_brands").val() !== "")
{
path = path+"/"+$("#filter_brands").val();
}
if($("#filter_models").val() !== undefined && $("#filter_models").val() !== null && $("#filter_models").val() !== "")
{
path = path+"/"+$("#filter_models").val();
}
var p = {};
for(let i in selected)
{
if(i !== "BRAND" && i !== "BRAND_ID" && i !== "MODEL" && i !== "MODEL_ID")
{
p[i] = selected[i];
}
}
path = path+"/?"+$.param(p);
window.location.href = path;
});
$("#filter_engine_volume_from").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Объем, от").attr("disabled", "disabled"); }
selected['ENGINE_VOLUME_FROM'] = $(this).val();;
updateCounter(selected);
});
$("#filter_engine_volume_to").on("change", function()
{
if($(this).val() !== "")
{ $(this).find("option").first().text("Любой").attr("disabled", false); }
else
{ $(this).find("option").first().text("Объем, до").attr("disabled", "disabled"); }
selected['ENGINE_VOLUME_TO'] = $(this).val();;
updateCounter(selected);
});
});
*/

View File

@ -12,16 +12,13 @@
/** @var CBitrixComponent $component */ /** @var CBitrixComponent $component */
$this->setFrameMode(true); $this->setFrameMode(true);
?> ?>
<!--
<? /*= print_r($arResult);*/ ?>
-->
<div class="recom_models"> <div class="recom_models">
<p class="title"><?= isset($arParams['TITLE']) ? $arParams['TITLE'] : $arResult['TITLE']; ?></p> <p class="title"><?= isset($arParams['TITLE']) ? $arParams['TITLE'] : $arResult['TITLE']; ?></p>
<? foreach($arResult['MODELS'] AS $model): ?> <? foreach($arResult['MODELS'] AS $model): ?>
<div class="oher_item"> <div class="other_item">
<a href="<?= $model['URL']; ?>"> <a href="<?= $model['URL']; ?>">
<span><?= $model['NAME']; ?></span> <span><?= $model['NAME']; ?></span>
<img src="<?= ($model['PREVIEW_PICTURE'] != "") ? $model['PREVIEW_PICTURE'] : "/images/no_image_380.png"; ?>" alt="<?= $model['NAME']; ?>" loading="lazy" /> <img src="<?= ($model['PREVIEW_PICTURE'] != "") ? $model['PREVIEW_PICTURE'] : "/images/no_car_photo_380.png"; ?>" alt="<?= $model['NAME']; ?>" loading="lazy" />
</a> </a>
</div> </div>
<? endforeach; ?> <? endforeach; ?>

View 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"),
);
?>

View File

@ -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();
}

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Другие ЛКТ из каталога для позциии";
$MESS ['DEFAULT_DESC'] = "Другие ЛКТ из каталога для позциии";
?>

View File

@ -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; ?>

View File

@ -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']);

View File

@ -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);
});
}); });

View File

@ -29,13 +29,11 @@ $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'] !== "" ? $arResult['PROPERTIES']['IMAGE_URL']['VALUE'] : "/images/no_image_650.png"; ?>" 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" >
@ -53,16 +51,15 @@ $this->setFrameMode(true);
<li>Топливо: <?= $arResult['PROPERTIES']['ENGINE_FUEL']['VALUE']; ?></li> <li>Топливо: <?= $arResult['PROPERTIES']['ENGINE_FUEL']['VALUE']; ?></li>
</ul> </ul>
</div> </div>
<div class="fixed_col"> <div class="fixed_col" style="z-index: 10;">
<div class="model_price"> <div class="model_price">
<p>Оформите автомбиль Audi A3 в лизинг на выгодных условиях</p> <h2 style="margin:0; font-size:inherit; margin-bottom: 45px; line-height: 20px;">Оформите автомобиль <?= $arResult['PROPERTIES']['BRAND']['RELATED']['NAME']; ?> <?= $arResult['PROPERTIES']['MODEL']['RELATED']['NAME']; ?> в лизинг на выгодных условиях</h2>
<p> <p>
Цена Стоимость авто (от)
<span>2 300 250</span> <span style="font-size: <?= ($arParams['car_price'] > 9999999) ? "30px" : "34px"; ?>"><?= number_format($arParams['car_price'], 0, ".", " "); ?> ₽</span>
</p> </p>
<button class="button button-blue" id="to_calculator_button">Рассчитать</button>
<button class="button button-blue">Заказать</button> <button class="button" id="to_form_button">Задать вопрос</button>
<button class="button">Задать вопрос</button>
</div> </div>
</div> </div>
</div> </div>
@ -70,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>
@ -85,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">
@ -120,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">
@ -145,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",
"", "",
@ -166,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>
@ -222,131 +218,150 @@ $this->setFrameMode(true);
</div> </div>
<div id="calc"> <div id="calc">
<div class="calc_body"> <div class="calc_body">
<h2 class="section_title">Калькулятор расчета лизинга</h2> <h2 class="section_title">Калькулятор расчета лизинга</h2>
<div class="calc_settings"> <div class="calc_settings">
<div class="settings_box"> <div class="settings_box">
<p>Стоимость авто</p> <p>Стоимость авто</p>
<p> <p>
<span id="calculator_car_price_value"> <span id="calculator_car_price_value">
<?= number_format($arResult['PROPERTIES']['PRICE']['VALUE'], 0, ".", " "); ?> <?= number_format($arResult['PROPERTIES']['PRICE']['VALUE'], 0, ".", " "); ?>
</span> </span>
<output hidden></output> <output hidden></output>
</p> </p>
<div class="price_custom" id="calculator_car_price_editor" style="display:none;"> <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" /> <input id="calculator_car_price_input" type="number" value="500000" min="500000" max="20000000" />
<button id="calculator_car_price_save">Сохранить</button> <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>
<div class="settings_box"> <div class="line">
<p>Первоначальный взнос</p> <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']; ?>" />
<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>
<p class="min"><?= $arParams['CAR_PRICE_MIN'] / 1000000; ?> млн</p>
<p class="max"><?= $arParams['CAR_PRICE_MAX'] / 1000000; ?> млн</p>
</div> </div>
<div class="calc_result"> <div class="settings_box">
<div class="result_box bolder"> <p>Первоначальный взнос</p>
<p>Ежемесячный платеж</p> <p><output></output> %</p>
<p><span id="calculator_monthly_payment_value"><?= number_format($arResult['CALCULATION']['monthly_payment'], 0, '.', ' '); ?></span> ₽</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> </div>
<div class="result_box"> <p class="min"><?= $arParams['INITIAL_PAYMENT_MIN'];?>%</p>
<p>Экономия по налогу на прибыль (до)</p> <p class="max"><?= $arParams['INITIAL_PAYMENT_MAX'];?>%</p>
<p><span id="calculator_tax_savings_value"><?= number_format($arResult['CALCULATION']['tax_savings'], 0, '.', ' '); ?></span> ₽</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> </div>
<div class="result_box"> <p class="min"><?= $arParams['LEASE_PERIOD_MIN']; ?> мес.</p>
<p>НДС к возмещению из бюджета (до)</p> <p class="max"><?= $arParams['LEASE_PERIOD_MAX']; ?> мес.</p>
<p><span id="calculator_vat_reimbursement_value"><?= number_format($arResult['CALCULATION']['vat_reimbursement'], 0, '.', ' '); ?></span> ₽</p> </div>
</div> <div class="settings_box">
<div class="calc_footer"> <p>Выкупной платеж</p>
<a href="#order" class="button button-blue">Отправить заявку</a> <p><output></output> %</p>
<button class="button button-blue" id="calculation_reset">Сбросить к базовым значениям</button> <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> </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>
</div> </div>
</div>
<? $APPLICATION->IncludeComponent(
<div class="recom_models"> "evolution:catalog.other.positions",
<div class="title_wrapper"> "",
<p class="title">Другие модели Audi A3 Sedan</p> Array(
<a href="#" class="button button-transparent">Показать все</a> "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> </div>
<div class="oher_item"> */?>
<a href="#"> <? $APPLICATION->IncludeComponent(
<span>Haval</span> "evolution:catalog.recommended.models",
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy"> "",
</a> 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 class="oher_item"> </div>
<a href="#">
<span>Haval</span>
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
</a>
</div>
<div class="oher_item">
<a href="#">
<span>Haval</span>
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
</a>
</div>
</div>
<div class="recom_models">
<div class="title_wrapper">
<p class="title">Рекомендуемые модели Audi для вас</p>
<a href="#" class="button button-transparent">Показать все</a>
</div>
<div class="oher_item">
<a href="#">
<span>Haval</span>
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
</a>
</div>
<div class="oher_item">
<a href="#">
<span>Haval</span>
<img src="https://evo.quickcode.ru/upload/iblock/192/5zet0bmwmm1ahj66fizv0hdz0f1z5m2l.jpg" alt="" loading="lazy">
</a>
</div>
<div class="oher_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>
</section> </section>

View 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"),
);
?>

View 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();
}
}

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Промо марки в каталоге";
$MESS ['DEFAULT_DESC'] = "Промо марки в каталоге";
?>

View File

@ -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; ?>

View 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"),
);
?>

View 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();
}
}

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Промо модели для марки в каталоге";
$MESS ['DEFAULT_DESC'] = "Промо модели для марки в каталоге";
?>

View File

@ -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; ?>

View 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"),
);
?>

View 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(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();
}

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Рекомендуемые модели для позиции";
$MESS ['DEFAULT_DESC'] = "Рекомендуемые модели для позиции";
?>

View File

@ -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; ?>

View 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"),
);
?>

View File

@ -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();
}
}

View File

@ -0,0 +1,4 @@
<?
$MESS ['DEFAULT_NAME'] = "Список специальных предложений из каталога ЛКТ";
$MESS ['DEFAULT_DESC'] = "Список специальных предложений из каталога ЛКТ ";
?>

View File

@ -0,0 +1,3 @@
<?
$MESS ['COUNT'] = "Количество специальных предложений";
?>

View File

@ -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; ?>

View File

@ -0,0 +1,14 @@
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = array(
'PARAMETERS' => array(
'MAP_WIDTH' => array(
'NAME' => GetMessage('COUNT_PER_PAGE'),
'TYPE' => 'STRING',
'DEFAULT' => '3',
'PARENT' => 'BASE',
),
),
);
?>

View File

@ -24,6 +24,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
{ {
$arResult = [ $arResult = [
'SELECTED' => [], 'SELECTED' => [],
'TITLES' => [],
'ITEMS' => [] 'ITEMS' => []
]; ];
@ -54,11 +55,12 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$arResult['SELECTED']['SORT'] = $arParams['SORT']; $arResult['SELECTED']['SORT'] = $arParams['SORT'];
} }
$filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => 1); $filter = Array("ACTIVE" => "Y", "IBLOCK_ID" => 1);
$options = Array("nPageSize" => 6); $options = Array("nPageSize" => !empty($arParams['COUNT_PER_PAGE']) ? $arParams['COUNT_PER_PAGE'] : 15);
$pages_url = $arParams['PATH']; $pages_url = $arParams['PATH'];
$arResult['EXTENDED'] = false; $arResult['EXTENDED'] = false;
$arResult['BY_OPTIONS'] = false;
$arResult['FILTER_SMALL'] = $arParams['FILTER_SMALL'] ? true : false; $arResult['FILTER_SMALL'] = $arParams['FILTER_SMALL'] ? true : false;
if(!empty($arParams['BRAND'])) if(!empty($arParams['BRAND']))
@ -67,14 +69,27 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
while ($brands_ob_element = $brands_res->GetNextElement()) while ($brands_ob_element = $brands_res->GetNextElement())
{ {
$brands_ar_res = $brands_ob_element->GetFields(); $brands_ar_res = $brands_ob_element->GetFields();
$brands_ar_res['PROPERTIES'] = $brands_ob_element->GetProperties();
$filter['PROPERTY_BRAND'] = $brands_ar_res['ID']; $filter['PROPERTY_BRAND'] = $brands_ar_res['ID'];
$pages_url = $pages_url.$brands_ar_res['CODE']."/"; $pages_url = $pages_url.$brands_ar_res['CODE']."/";
$arResult['SELECTED']['BRAND'] = $brands_ar_res['CODE']; $arResult['SELECTED']['BRAND'] = $brands_ar_res['CODE'];
$arResult['SELECTED']['BRAND_ID'] = $brands_ar_res['ID'];
$arResult['SELECTED']['BRAND_UID'] = $brands_ar_res['PROPERTIES']['UID']['VALUE'];
$arResult['TITLES']['BRAND'] = $brands_ar_res['NAME'];
$arResult['TITLES']['TRANSCRIPTION'] = $brands_ar_res['PROPERTIES']['TRANSCRIPTION']['VALUE'];
$APPLICATION->AddChainItem($brands_ar_res['NAME'], "https://".SITE_SERVER_NAME."/catalog/".$arResult['SELECTED']['BRAND']."/");
} }
$arResult['EXTENDED'] = true; $arResult['EXTENDED'] = true;
$arResult['FILTER_SMALL'] = false; $arResult['FILTER_SMALL'] = false;
$arResult['SCROLL'] = true; $arResult['SCROLL'] = true;
if(empty($arResult['SELECTED']['BRAND']))
{
define('ERROR_404', 'Y');
}
} }
if(!empty($arParams['MODEL'])) if(!empty($arParams['MODEL']))
@ -86,66 +101,114 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$filter['PROPERTY_MODEL'] = $models_ar_res['ID']; $filter['PROPERTY_MODEL'] = $models_ar_res['ID'];
$pages_url = $pages_url.$models_ar_res['CODE']."/"; $pages_url = $pages_url.$models_ar_res['CODE']."/";
$arResult['SELECTED']['MODEL'] = $models_ar_res['CODE']; $arResult['SELECTED']['MODEL'] = $models_ar_res['CODE'];
$arResult['TITLES']['MODEL'] = $models_ar_res['NAME'];
$APPLICATION->AddChainItem($models_ar_res['NAME'], "https://".SITE_SERVER_NAME."/catalog/".$arResult['SELECTED']['BRAND']."/".$arResult['SELECTED']['MODEL']."/");
} }
$arResult['EXTENDED'] = true; $arResult['EXTENDED'] = true;
$arResult['SCROLL'] = true; $arResult['SCROLL'] = true;
if(empty($arResult['SELECTED']['MODEL']))
{
define('ERROR_404', 'Y');
}
} }
if(!empty($arParams['MODIFICATION'])) if(!isset($arParams['PROGRAM']))
{ {
$arResult['EXTENDED'] = true; if(isset($arResult['SELECTED']['BRAND']))
$arResult['SELECTED']['MODIFICATION'] = $arParams['MODIFICATION']; {
if(isset($arResult['SELECTED']['MODEL']))
{
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/catalog/'.$arResult['SELECTED']['BRAND'].'/'.$arResult['SELECTED']['MODEL'].'/"/>');
}
else
{
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/catalog/'.$arResult['SELECTED']['BRAND'].'/"/>');
}
}
else
{
$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/catalog/"/>');
}
}
$filter['PROPERTY_MODIFICATION'] = $arParams['MODIFICATION']; //$APPLICATION->AddHeadString('<link rel="canonical" href="https://'.SITE_SERVER_NAME.'/catalog/'.$ar_res['PROPERTIES']['BRAND']['RELATED']['CODE'].'/'.$ar_res['PROPERTIES']['MODEL']['RELATED']['CODE'].'/"/>');
$query_arr['MODIFICATION'] = $arParams['MODIFICATION'];
$arResult['SCROLL'] = true; if(isset($arParams['MODIFICATION']))
{
if(!empty($arParams['MODIFICATION']))
{
$arResult['EXTENDED'] = true;
$arResult['SELECTED']['MODIFICATION'] = $arParams['MODIFICATION'];
$arResult['SCROLL'] = true;
$filter['PROPERTY_MODIFICATION'] = $arParams['MODIFICATION'];
$query_arr['MODIFICATION'] = $arParams['MODIFICATION'];
}
else
{
LocalRedirect("https://".SITE_SERVER_NAME."/catalog/".$arResult['SELECTED']['BRAND']."/".$arResult['SELECTED']['MODEL']."/", true, "301 Moved permanently");
}
} }
if(!empty($arParams['DRIVE'])) if(!empty($arParams['DRIVE']))
{ {
$arResult['EXTENDED'] = true; $arResult['EXTENDED'] = true;
$arResult['BY_OPTIONS'] = true;
$arResult['SCROLL'] = true;
$arResult['SELECTED']['DRIVE'] = $arParams['DRIVE']; $arResult['SELECTED']['DRIVE'] = $arParams['DRIVE'];
$filter['=PROPERTY_DRIVE'] = $arParams['DRIVE']; $filter['=PROPERTY_DRIVE'] = $arParams['DRIVE'];
$query_arr['DRIVE'] = $arParams['DRIVE']; $query_arr['DRIVE'] = $arParams['DRIVE'];
$arResult['SCROLL'] = true;
} }
if(!empty($arParams['BODY'])) if(!empty($arParams['BODY']))
{ {
$arResult['EXTENDED'] = true; $arResult['EXTENDED'] = true;
$arResult['BY_OPTIONS'] = true;
$arResult['SCROLL'] = true;
$arResult['SELECTED']['BODY'] = $arParams['BODY']; $arResult['SELECTED']['BODY'] = $arParams['BODY'];
$filter['=PROPERTY_BODY'] = $arParams['BODY']; $filter['=PROPERTY_BODY'] = $arParams['BODY'];
$query_arr['BODY'] = $arParams['BODY']; $query_arr['BODY'] = $arParams['BODY'];
$arResult['SCROLL'] = true;
} }
if(!empty($arParams['GEAR'])) if(!empty($arParams['GEAR']))
{ {
$arResult['EXTENDED'] = true; $arResult['EXTENDED'] = true;
$arResult['BY_OPTIONS'] = true;
$arResult['SCROLL'] = true;
$arResult['SELECTED']['GEAR'] = $arParams['GEAR']; $arResult['SELECTED']['GEAR'] = $arParams['GEAR'];
$filter['=PROPERTY_GEAR'] = $arParams['GEAR']; $filter['=PROPERTY_GEAR'] = $arParams['GEAR'];
$query_arr['GEAR'] = $arParams['GEAR']; $query_arr['GEAR'] = $arParams['GEAR'];
$arResult['SCROLL'] = true;
} }
if(!empty($arParams['ENGINE_FUEL'])) if(!empty($arParams['ENGINE_FUEL']))
{ {
$filter['=PROPERTY_ENGINE_FUEL'] = $arParams['ENGINE_FUEL'];
$arResult['EXTENDED'] = true; $arResult['EXTENDED'] = true;
$arResult['BY_OPTIONS'] = true;
$arResult['SCROLL'] = true;
$arResult['SELECTED']['ENGINE_FUEL'] = $arParams['ENGINE_FUEL']; $arResult['SELECTED']['ENGINE_FUEL'] = $arParams['ENGINE_FUEL'];
$filter['=PROPERTY_ENGINE_FUEL'] = $arParams['ENGINE_FUEL'];
$query_arr['ENGINE_FUEL'] = $arParams['ENGINE_FUEL']; $query_arr['ENGINE_FUEL'] = $arParams['ENGINE_FUEL'];
$arResult['SCROLL'] = true;
} }
if(!empty($arParams['ENGINE_POWER_FROM']) || !empty($arParams['ENGINE_POWER_TO'])) if(!empty($arParams['ENGINE_POWER_FROM']) || !empty($arParams['ENGINE_POWER_TO']))
{ {
$filter['><PROPERTY_ENGINE_POWER'] = [ !empty($arParams['ENGINE_POWER_FROM']) ? $arParams['ENGINE_POWER_FROM'] : 0, !empty($arParams['ENGINE_POWER_TO']) ? $arParams['ENGINE_POWER_TO'] : 1000 ];
$arResult['EXTENDED'] = true; $arResult['EXTENDED'] = true;
$arResult['BY_OPTIONS'] = true;
$arResult['SCROLL'] = true;
$filter['><PROPERTY_ENGINE_POWER'] = [ !empty($arParams['ENGINE_POWER_FROM']) ? $arParams['ENGINE_POWER_FROM'] : 0, !empty($arParams['ENGINE_POWER_TO']) ? $arParams['ENGINE_POWER_TO'] : 1000 ];
if(!empty($arParams['ENGINE_POWER_FROM'])) if(!empty($arParams['ENGINE_POWER_FROM']))
{ {
$arResult['SELECTED']['ENGINE_POWER_FROM'] = $arParams['ENGINE_POWER_FROM']; $arResult['SELECTED']['ENGINE_POWER_FROM'] = $arParams['ENGINE_POWER_FROM'];
@ -156,13 +219,16 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$arResult['SELECTED']['ENGINE_POWER_TO'] = $arParams['ENGINE_POWER_TO']; $arResult['SELECTED']['ENGINE_POWER_TO'] = $arParams['ENGINE_POWER_TO'];
$query_arr['ENGINE_POWER_TO'] = $arParams['ENGINE_POWER_TO']; $query_arr['ENGINE_POWER_TO'] = $arParams['ENGINE_POWER_TO'];
} }
$arResult['SCROLL'] = true;
} }
if(!empty($arParams['ENGINE_VOLUME_FROM']) || !empty($arParams['ENGINE_VOLUME_TO'])) if(!empty($arParams['ENGINE_VOLUME_FROM']) || !empty($arParams['ENGINE_VOLUME_TO']))
{ {
$filter['><PROPERTY_ENGINE_VOLUME'] = [ !empty($arParams['ENGINE_VOLUME_FROM']) ? $arParams['ENGINE_VOLUME_FROM'] : 0, !empty($arParams['ENGINE_VOLUME_TO']) ? $arParams['ENGINE_VOLUME_TO'] : 10000 ];
$arResult['EXTENDED'] = true; $arResult['EXTENDED'] = true;
$arResult['BY_OPTIONS'] = true;
$arResult['SCROLL'] = true;
$filter['><PROPERTY_ENGINE_VOLUME'] = [ !empty($arParams['ENGINE_VOLUME_FROM']) ? $arParams['ENGINE_VOLUME_FROM'] : 0, !empty($arParams['ENGINE_VOLUME_TO']) ? $arParams['ENGINE_VOLUME_TO'] : 10000 ];
if(!empty($arParams['ENGINE_VOLUME_FROM'])) if(!empty($arParams['ENGINE_VOLUME_FROM']))
{ {
$arResult['SELECTED']['ENGINE_VOLUME_FROM'] = $arParams['ENGINE_VOLUME_FROM']; $arResult['SELECTED']['ENGINE_VOLUME_FROM'] = $arParams['ENGINE_VOLUME_FROM'];
@ -173,7 +239,6 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$arResult['SELECTED']['ENGINE_VOLUME_TO'] = $arParams['ENGINE_VOLUME_TO']; $arResult['SELECTED']['ENGINE_VOLUME_TO'] = $arParams['ENGINE_VOLUME_TO'];
$query_arr['ENGINE_VOLUME_TO'] = $arParams['ENGINE_VOLUME_TO']; $query_arr['ENGINE_VOLUME_TO'] = $arParams['ENGINE_VOLUME_TO'];
} }
$arResult['SCROLL'] = true;
} }
//$pages_url = $pages_url."/"; //$pages_url = $pages_url."/";
@ -229,49 +294,72 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$filter['PROPERTY_LEASING_PROGRAMS'] = $arParams["leasing_program"]; $filter['PROPERTY_LEASING_PROGRAMS'] = $arParams["leasing_program"];
} }
$res = CIBlockElement::GetList($sort, $filter, false, $options); if(empty($arParams['PROGRAM']))
while ($obElement = $res->GetNextElement())
{ {
$ar_res = $obElement->GetFields(); $arResult['SHOW_SPECIAL_OFFERS'] = true;
$ar_res['PROPERTIES'] = $obElement->GetProperties(); $arResult['SHOW_PROMO_BRANDS'] = true;
$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'] = []; if(!empty($arParams['BRAND']))
$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, ".", " "); $arResult['SHOW_PROMO_BRANDS'] = false;
$ar_res['CALCULATION']['SAVINGS_VAT'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 4), 0, ".", " "); }
//print "<!-- ".$ar_res['ID']."-->\n"; if(!empty($arParams['BRAND']) && empty($arParams['MODEL']))
//print "<!-- "; {
//print_r($ar_res['PROPERTIES']); $arResult['SHOW_PROMO_MODELS'] = true;
//print "-->\n\n\n"; }
/* if(!empty($arParams['MODEL']) || !empty($arParams['PROGRAM']) || $arResult['BY_OPTIONS'])
if(isset($ar_res['PREVIEW_PICTURE'])) {
$arResult['SHOW_SPECIAL_OFFERS'] = false;
$arResult['SHOW_PROMO_BRANDS'] = false;
$arResult['SHOW_PROMO_MODELS'] = false;
$res = CIBlockElement::GetList($sort, $filter, false, $options);
while ($obElement = $res->GetNextElement())
{ {
$ar_res['PREVIEW_PICTURE_SRC'] = get_image_path($ar_res['PREVIEW_PICTURE']); $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']);
if(!empty($ar_res['PROPERTIES']['PHOTO_ICON']['VALUE'])) $ar_res['CALCULATION'] = [];
{ $ar_res['CALCULATION']['MONTHLY'] = number_format((($ar_res['PROPERTIES']['PRICE']['VALUE'] / 100) * 10), 0, ".", " ");
$ar_res['PROPERTIES']['PHOTO_ICON']['SRC'] = get_image_path($ar_res['PROPERTIES']['PHOTO_ICON']['VALUE']); $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, ".", " ");
if(!empty($ar_res['PROPERTIES']['CITY']['VALUE'])) //print "<!-- ".$ar_res['ID']."-->\n";
{ //print "<!-- ";
$ar_res['PROPERTIES']['CITY']['RELATED'] = get_related_array(10, $ar_res['PROPERTIES']['CITY']['VALUE']); //print_r($ar_res['PROPERTIES']);
} //print "-->\n\n\n";
if(!empty($ar_res['PROPERTIES']['SUBWAY']['VALUE'])) /*
{ if(isset($ar_res['PREVIEW_PICTURE']))
$ar_res['PROPERTIES']['SUBWAY']['RELATED'] = get_related_array(12, $ar_res['PROPERTIES']['SUBWAY']['VALUE']); {
} $ar_res['PREVIEW_PICTURE_SRC'] = get_image_path($ar_res['PREVIEW_PICTURE']);
*/ }
$arResult['ITEMS'][] = $ar_res; if(!empty($ar_res['PROPERTIES']['PHOTO_ICON']['VALUE']))
{
$ar_res['PROPERTIES']['PHOTO_ICON']['SRC'] = get_image_path($ar_res['PROPERTIES']['PHOTO_ICON']['VALUE']);
}
if(!empty($ar_res['PROPERTIES']['CITY']['VALUE']))
{
$ar_res['PROPERTIES']['CITY']['RELATED'] = get_related_array(10, $ar_res['PROPERTIES']['CITY']['VALUE']);
}
if(!empty($ar_res['PROPERTIES']['SUBWAY']['VALUE']))
{
$ar_res['PROPERTIES']['SUBWAY']['RELATED'] = get_related_array(12, $ar_res['PROPERTIES']['SUBWAY']['VALUE']);
}
*/
$arResult['ITEMS'][] = $ar_res;
}
} }
if($_REQUEST['PAGEN_1'] > 1) if($_REQUEST['PAGEN_1'] > 1)
@ -279,7 +367,24 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$arResult['SCROLL'] = true; $arResult['SCROLL'] = true;
} }
if($arParams["PAGINATION"] == "Y") if(!empty($arResult['TITLES']['BRAND']))
{
if(!empty($arResult['TITLES']['MODEL']))
{
$APPLICATION->SetPageProperty("title", $arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." в лизинг для юридических лиц и ИП в Москве - купить новый автомобиль ".$arResult['TITLES']['TRANSCRIPTION']." ".$arResult['TITLES']['MODEL']." в лизинг | Эволюция");
$APPLICATION->SetPageProperty("description", "Новые автомобили ".$arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".$arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.");
}
else
{
$APPLICATION->SetPageProperty("title", $arResult['TITLES']['BRAND']." в лизинг для юридических лиц и ИП в Москве - купить новый автомобиль ".$arResult['TITLES']['TRANSCRIPTION']." в лизинг | Эволюция");
$APPLICATION->SetPageProperty("description", "Новые автомобили ".$arResult['TITLES']['BRAND']." в лизинг для юридических лиц и ИП в Москве и в других регионах России. Вы можете купить ".$arResult['TITLES']['BRAND']." в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный.");
}
}
$arResult['SECTION_CODE'] = !empty($arParams['section_code']) ? $arParams['section_code'] : $pages_url;
$arResult['QUERY'] = $query;
if(count($arResult['ITEMS']) > 0 && $arParams["PAGINATION"] == "Y")
{ {
$arResult["NAV_STRING"] = $res->GetPageNavStringEx( $arResult["NAV_STRING"] = $res->GetPageNavStringEx(
$navComponentObject, $navComponentObject,
@ -288,12 +393,57 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
"N", "N",
null, null,
[ [
"section_code" => !empty($arParams['section_code']) ? $arParams['section_code'] : $pages_url, "section_code" => $arResult['SECTION_CODE'],
"query" => $query, "query" => $arResult['QUERY'],
] ]
); );
} }
$this->IncludeComponentTemplate(); $arResult['PAGE_CURRENT'] = $res->NavPageNomer;
$arResult['PAGE_COUNT'] = $res->NavPageCount;
if(isset($_REQUEST['ajax']))
{
$GLOBALS['APPLICATION']->RestartBuffer();
/*header('Content-Type: application/json; charset=utf-8');
$response = [
'PAGE_CURRENT' => $arResult['PAGE_CURRENT'],
'PAGE_COUNT' => $arResult['PAGE_COUNT'],
'PAGINATION' => $arResult['NAV_STRING'],
'ITEMS' => [],
];
foreach($arResult['ITEMS'] AS $item)
{
$position = [
$item
];
array_push($response['ITEMS'], $position);
}
print json_encode($arResult);
*/
$this->IncludeComponentTemplate();
$items = ob_get_contents();
ob_end_clean();
header('Content-Type: application/json; charset=utf-8');
$response = [
'ITEMS' => json_encode(str_replace(["\t","\r","\n"], ["","",""], $items), JSON_UNESCAPED_SLASHES),
'PAGE_CURRENT' => $arResult['PAGE_CURRENT'],
'PAGE_COUNT' => $arResult['PAGE_COUNT'],
'PAGINATION' => json_encode(str_replace(["\t","\r","\n"], ["","",""], $arResult['NAV_STRING']), JSON_UNESCAPED_SLASHES),
];
print json_encode($response, JSON_UNESCAPED_SLASHES);
die();
}
else
{
$this->IncludeComponentTemplate();
}
} }
} }

Some files were not shown because too many files have changed in this diff Show More