This commit is contained in:
merelendor 2024-06-13 02:53:24 +03:00
commit 187f81c4d1
14 changed files with 268 additions and 217 deletions

View File

@ -1,14 +1,24 @@
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
?>
<?
<? if(isset($_GET['slide'])): ?>
<?
$APPLICATION->IncludeComponent(
"evolution:slider.main",
"single",
[],
);
?>
<? endif; ?>
<? if(!isset($_GET['slide'])): ?>
<?
$APPLICATION->IncludeComponent(
"evolution:special.offers.cars",
"",
[]
);
?>
<section data-page="leasing_special">
?>
<section data-page="leasing_special">
<div class="container">
<?
$APPLICATION->IncludeComponent(
@ -21,8 +31,8 @@ require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
);
?>
</div>
</section>
<section data-page="catalog" id="catalog">
</section>
<section data-page="catalog" id="catalog">
<div class="container">
<div id="view"></div>
<div class="pageWithSide">
@ -38,5 +48,6 @@ require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
</aside>
</div>
</div>
</section>
</section>
<? endif; ?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

View File

@ -425,7 +425,6 @@ function prepare_advertiser_request($arFields, $properties)
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "OnBeforeIBlockElementAddHandler");
AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnAfterIBlockElementAddHandler");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "OnBeforeIBlockElementUpdateHandler");
//AddEventHandler("iblock", "OnIBlockElementSetPropertyValuesEx", "OnIBlockElementSetPropertyValuesExHandler");
function OnBeforeIBlockElementAddHandler(&$arFields)
{
@ -450,7 +449,6 @@ function OnBeforeIBlockElementAddHandler(&$arFields)
if(!is_null($arFields['PROPERTY_VALUES']['ADVERTISING']))
{
//if($arFields['IBLOCK_ID'] === IBLOCK_ID_CATALOG_CARS_USED && is_null($arFields['PROPERTY_VALUES']['SPECIAL_OFFER']))
if($arFields['IBLOCK_ID'] === IBLOCK_ID_CATALOG_CARS_USED)
{
return true;
@ -486,62 +484,56 @@ function OnAfterIBlockElementAddHandler(&$arFields)
$properties[$res_arr['CODE']] = $res_arr['ID'];
}
/* ????????
if(isset($properties['ADVERTISING']))
{
if(is_array($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']]))
if(DEBUG_IBLOCK_CYCLE)
{
if(!is_array($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']]))
{
//если ERIR пуст
//запускаем получение ЕРИР
$arFields['ACTIVE'] = "Y";
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']] = [ array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']])[0] => [ 'VALUE' => '' ]];
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_after_adv_".$arFields['IBLOCK_ID'].".txt", var_export($arFields, true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_after_adv_".$arFields['IBLOCK_ID']."_check_flag.txt", var_export($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
}
}
}
*/
if(isset($properties['ADVERTISING']))
if(!is_null($arFields['PROPERTY_VALUES']['ADVERTISING']) || (isset($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']][0]['VALUE']) && $arFields['PROPERTY_VALUES'][$properties['ADVERTISING']][0]['VALUE'] !== ""))
{
if(!is_null($arFields['PROPERTY_VALUES']['ADVERTISING']))
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_after_adv_".$arFields['IBLOCK_ID'].".txt", var_export($arFields['CODE'], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
//if($arFields['IBLOCK_ID'] === IBLOCK_ID_CATALOG_CARS_USED && is_null($arFields['PROPERTY_VALUES']['SPECIAL_OFFER']))
if(method_exists('\CIBlock', 'clearIblockTagCache'))
{
if(DEBUG_IBLOCK_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_after_cc_1_".$arFields['IBLOCK_ID'].".txt", var_export($arFields['IBLOCK_ID'], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
}
\CIBlock::enableClearTagCache();
\CIBlock::clearIblockTagCache($arFields['IBLOCK_ID']);
\CIBlock::DisableClearTagCache();
}
else
{
BXClearCache(true);
(new \Bitrix\Main\Data\ManagedCache())->cleanAll();
(new \CStackCacheManager())->CleanAll();
}
if(method_exists('\CHTMLPagesCache', 'IsCompositeEnabled') && \CHTMLPagesCache::IsCompositeEnabled())
{
\CHTMLPagesCache::CleanAll();
}
BXClearCache(true);
$GLOBALS["CACHE_MANAGER"]->CleanAll();
$GLOBALS["stackCacheManager"]->CleanAll();
$taggedCache = \Bitrix\Main\Application::getInstance()->getTaggedCache();
$taggedCache->deleteAllTags();
$page = \Bitrix\Main\Composite\Page::getInstance();
$page->deleteAll();
if($arFields['IBLOCK_ID'] === IBLOCK_ID_CATALOG_CARS_USED)
{
return true;
}
//запускаем получение ЕРИР
sleep(10);
$advertiser_response = prepare_advertiser_request($arFields, $properties);
if($advertiser_response['status'] === "success")
{
//file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_arfields.txt", var_export($arFields, true));
//file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_properties.txt", var_export($properties, true));
if(DEBUG_ADV_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_response.txt", var_export(["ID" => $arFields['ID'], "response" => $advertiser_response], true));
@ -561,18 +553,8 @@ function OnAfterIBlockElementAddHandler(&$arFields)
$arFields['ACTIVE'] = 'N';
}
/*
$element = new CIBlockElement;
$result = $element->Update($arFields['ID'], [ "ACTIVE" => "Y" ]);
CIBlockElement::SetPropertyValuesEx($arFields['ID'], $arFields['IBLOCK_ID'], [
"ADVERTISING_ERIR" => "12345",
"ADVERTISING_SAMPLE_URL" => "67890",
], []);
//ставим элемент на публикацию
$arFields['ACTIVE'] = "Y";
*/
$result = $element->Update($arFields['ID'], [ "ACTIVE" => "Y", "PROPERTY_VALUES" => $arFields['PROPERTY_VALUES'], ]);
}
}
}
@ -604,46 +586,58 @@ function OnBeforeIBlockElementUpdateHandler(&$arFields)
if(is_array($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']]))
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_adv_2.txt", var_export([ "ID" => $arFields['ID'], ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_adv_values_on_update.txt", var_export($arFields, true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
if($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']][array_keys($arFields['PROPERTY_VALUES'][$properties['ADVERTISING_ERIR']])[0]]['VALUE'] === "")
{
if(isset($arFields['PROPERTY_VALUES']['ADVERTISING_ERIR']) && !empty($arFields['PROPERTY_VALUES']['ADVERTISING_ERIR']))
{
//проверка для избежания двойного запроса из-за особенностей архитектуры передачи параметров Битрикса
return true;
}
if(DEBUG_ADV_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_adv_3.txt", var_export([ "ID" => $arFields['ID'], ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_update_before_".$arFields['IBLOCK_ID'].".txt", var_export([ "ID" => $arFields['ID'], ], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
}
//это реклама, ЕРИР нет и его надо получить
/*
CIBlockElement::SetPropertyValuesEx($arFields['ID'], $arFields['IBLOCK_ID'], [
"ADVERTISING_ERIR" => "12345",
"ADVERTISING_SAMPLE_URL" => "67890",
], []);
*/
if(method_exists('\CIBlock', 'clearIblockTagCache'))
{
if(DEBUG_IBLOCK_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/element_add_after_cc_1_".$arFields['IBLOCK_ID'].".txt", var_export($arFields['IBLOCK_ID'], true)."\n\n".str_repeat("-", 150)."\n\n", FILE_APPEND);
}
\CIBlock::enableClearTagCache();
\CIBlock::clearIblockTagCache($arFields['IBLOCK_ID']);
\CIBlock::DisableClearTagCache();
}
else
{
BXClearCache(true);
(new \Bitrix\Main\Data\ManagedCache())->cleanAll();
(new \CStackCacheManager())->CleanAll();
}
if(method_exists('\CHTMLPagesCache', 'IsCompositeEnabled') && \CHTMLPagesCache::IsCompositeEnabled())
{
\CHTMLPagesCache::CleanAll();
}
BXClearCache(true);
$GLOBALS["CACHE_MANAGER"]->CleanAll();
$GLOBALS["stackCacheManager"]->CleanAll();
$taggedCache = \Bitrix\Main\Application::getInstance()->getTaggedCache();
$taggedCache->deleteAllTags();
$page = \Bitrix\Main\Composite\Page::getInstance();
$page->deleteAll();
$advertiser_response = prepare_advertiser_request($arFields, $properties);
if($advertiser_response['status'] === "success")
{
//file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_arfields.txt", var_export($arFields, true));
//file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_properties.txt", var_export($properties, true));
if(DEBUG_ADV_CYCLE)
{
file_put_contents($_SERVER['DOCUMENT_ROOT']."/adv_response.txt", var_export(["ID" => $arFields['ID'], "response" => $advertiser_response], true));
@ -662,32 +656,6 @@ function OnBeforeIBlockElementUpdateHandler(&$arFields)
$arFields['PROPERTY_VALUES'][$properties['ADVERTISING_SAMPLE_ID']] = '';
$arFields['ACTIVE'] = 'N';
}
/* в изменение, принудительный сброс кеша
if (method_exists('\CIBlock', 'clearIblockTagCache'))
{
\CIBlock::enableClearTagCache();
foreach ($iblockIds as $iblockId)
{
\CIBlock::clearIblockTagCache($iblockId);
}
\CIBlock::DisableClearTagCache();
}
else
{
BXClearCache(true);
(new \Bitrix\Main\Data\ManagedCache())->cleanAll();
(new \CStackCacheManager())->CleanAll();
}
if (method_exists('\CHTMLPagesCache', 'IsCompositeEnabled') && \CHTMLPagesCache::IsCompositeEnabled())
{
\CHTMLPagesCache::CleanAll();
}
*/
}
}
else
@ -709,31 +677,7 @@ function OnBeforeIBlockElementUpdateHandler(&$arFields)
}
}
/*
$res = CIBlock::GetProperties($arFields['IBLOCK_ID'], [], []);
$properties = [];
while($res_arr = $res->GetNext())
{
$properties[$res_arr['CODE']] = $res_arr['ID'];
}
if(isset($properties['ADVERTISING']))
{
if(is_array($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']]))
{
}
}
file_put_contents($_SERVER['DOCUMENT_ROOT']."/iblock_properties.txt", var_export($properties, true));
*/
return true;
}
function OnIBlockElementSetPropertyValuesExHandler()
{
}
?>

View File

@ -28,7 +28,7 @@ $this->setFrameMode(true);
<div class="calc_body">
<div class="calc_settings">
<div class="settings_box">
<p>Стоимость авто</p>
<p>Стоимость <?= isset($arParams['PRODUCT_TITLE']) ? $arParams['PRODUCT_TITLE'] : "авто"; ?></p>
<?/*<output hidden></output>*/?>
<p id="calculator_car_price_text"><output></output> </p>
<div class="price_custom" id="calculator_car_price_editor" style="display:none;">

View File

@ -32,7 +32,7 @@ $this->setFrameMode(true);
<div class="step">
<div class="form_field" id="preapproval_vat_wrapper">
<input id="preapproval_vat" type="text" placeholder="ИНН" onkeypress='return event.charCode >= 48 && event.charCode <= 57' minlength="10" maxlength="11"/>
<input id="preapproval_vat" type="text" placeholder="ИНН" onkeypress='return event.charCode >= 48 && event.charCode <= 57' minlength="10" maxlength="12"/>
</div>
<div class="form_field" id="preapproval_program_wrapper">
<select id="preapproval_program">

View File

@ -44,7 +44,7 @@ $this->setFrameMode(true);
<div class="logos_list">
<? foreach($arResult['ITEMS'] AS $brand): ?>
<div class="list_item">
<a href="<?= $arParams['PATH']; ?>brand-<?= $brand['CODE']; ?>/">
<a href="<?= $arParams['PATH']; ?>brand-<?= $brand['CODE']; ?>/<?= isset($arParams['TYPE_SLUG']) ? $arParams['TYPE_SLUG']."/" : ""; ?>">
<img src="<?= $brand['PREVIEW_PICTURE']; ?>" alt="<?= $brand['NAME']; ?>"/>
</a>
</div>

View File

@ -215,6 +215,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$arResult['BRAND_SLUG'] = $brand_slug;
$arResult['TYPE'] = $type;
$arResult['TYPE_SLUG'] = $type_slug;
$arResult['TYPE_PLURAL'] = $type_plural;
$arResult['TYPE_GENITIVE'] = $type_genitive;
$arResult['TYPE_GENITIVE_SINGULAR'] = $type_singular_genitive;

View File

@ -307,27 +307,11 @@ $this->setFrameMode(true);
<? endif; ?>
<?
$APPLICATION->IncludeComponent(
"evolution:programs.aggregations.brands.list",
"",
[
"IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION_BRANDS'],
"TYPE" => $arResult['TYPE'],
"TYPE_GENITIVE" => $arResult['TYPE_GENITIVE'],
"PATH" => "/programs/".$arParams['PATH']."/",
"SHORT_TITLE_GENITIVE" => $arParams['SHORT_TITLE_GENITIVE'],
"GROUP" => $arResult['GROUP'],
"GROUP_GENITIVE" => $arResult['GROUP_GENITIVE'],
"BRAND" => $arResult['BRAND'],
]
);
?>
<?
$calculator_title = "Калькулятор расчета лизинга";
$calculator_title = "Калькулятор расчета лизинга ".mb_strtolower($arParams['SHORT_TITLE_GENITIVE']);
if(isset($arResult['BRAND']))
{
if(isset($arResult['BRAND']))
{
if(isset($arResult['TYPE']))
{
$calculator_title = "Калькулятор расчета лизинга ".mb_strtolower($arResult['TYPE_GENITIVE'])." ".$arResult['BRAND_NAME'];
@ -336,16 +320,20 @@ $this->setFrameMode(true);
{
$calculator_title = "Калькулятор расчета лизинга ".mb_strtolower($arParams['SHORT_TITLE_GENITIVE'])." ".$arResult['BRAND_NAME'];
}
}
elseif(isset($arResult['TYPE']))
{
}
elseif(isset($arResult['TYPE']))
{
$calculator_title = "Калькулятор расчета лизинга ".mb_strtolower($arResult['TYPE_GENITIVE_SINGULAR']);
}
elseif(isset($arResult['GROUP']))
{
}
elseif(isset($arResult['GROUP']))
{
$calculator_title = "Калькулятор расчета лизинга ".mb_strtolower($arResult['GROUP_GENITIVE']);
}
}
?>
<? if(isset($arResult['TYPE']) || isset($arResult['BRAND'])): ?>
<?
$APPLICATION->IncludeComponent(
"evolution:calculator",
"",
@ -362,11 +350,69 @@ $this->setFrameMode(true);
"LEASE_PERIOD_MAX" => 60,
"REDEMPTION_PAYMENT_MIN" => 1,
"REDEMPTION_PAYMENT_MAX" => 5,
"TITLE" => $calculator_title
"TITLE" => $calculator_title,
"PRODUCT_TITLE" => "техники",
)
); ?>
); ?>
<?
$APPLICATION->IncludeComponent(
"evolution:programs.aggregations.brands.list",
"",
[
"IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION_BRANDS'],
"TYPE" => $arResult['TYPE'],
"TYPE_SLUG" => $arResult['TYPE_SLUG'],
"TYPE_GENITIVE" => $arResult['TYPE_GENITIVE'],
"PATH" => "/programs/".$arParams['PATH']."/",
"SHORT_TITLE_GENITIVE" => $arParams['SHORT_TITLE_GENITIVE'],
"GROUP" => $arResult['GROUP'],
"GROUP_GENITIVE" => $arResult['GROUP_GENITIVE'],
"BRAND" => $arResult['BRAND'],
]
);
?>
<? else: ?>
<?
$APPLICATION->IncludeComponent(
"evolution:programs.aggregations.brands.list",
"",
[
"IBLOCK_ID" => $arParams['IBLOCK_ID_PROGRAMS_AGGREGATION_BRANDS'],
"TYPE" => $arResult['TYPE'],
"TYPE_SLUG" => $arResult['TYPE_SLUG'],
"TYPE_GENITIVE" => $arResult['TYPE_GENITIVE'],
"PATH" => "/programs/".$arParams['PATH']."/",
"SHORT_TITLE_GENITIVE" => $arParams['SHORT_TITLE_GENITIVE'],
"GROUP" => $arResult['GROUP'],
"GROUP_GENITIVE" => $arResult['GROUP_GENITIVE'],
"BRAND" => $arResult['BRAND'],
]
);
?>
<?
$APPLICATION->IncludeComponent(
"evolution:calculator",
"",
Array(
"car_price" => 2500000,
"initial_payment" => 20,
"lease_period" => 36,
"redemption_payment" => 5,
"CAR_PRICE_MIN" => 500000,
"CAR_PRICE_MAX" => 30000000,
"INITIAL_PAYMENT_MIN" => 5,
"INITIAL_PAYMENT_MAX" => 50,
"LEASE_PERIOD_MIN" => 13,
"LEASE_PERIOD_MAX" => 60,
"REDEMPTION_PAYMENT_MIN" => 1,
"REDEMPTION_PAYMENT_MAX" => 5,
"TITLE" => $calculator_title,
"PRODUCT_TITLE" => "техники",
)
); ?>
<? endif; ?>
<? if(!empty($arResult['DETAIL_TEXT'])): ?>
<? if(!empty(strip_tags($arResult['DETAIL_TEXT']))): ?>
<? if(!isset($arResult['TYPE']) || !isset(($arResult['BRAND']))): ?>
<section>

View File

@ -23,6 +23,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true))))
$sort = Array("SORT" => "ASC", "NAME" => "ASC");
$filter = [ "IBLOCK_ID" => 11 ];
if(!isset($_GET['advertise'])) { $filter['ACTIVE'] = "Y"; }
if(isset($_GET['advertise'])) { $filter['ID'] = $_GET['slide']; }
$options = Array("nPageSize" => 1000);
$res = CIBlockElement::GetList($sort, $filter, false, $options);

View File

@ -42,10 +42,7 @@ $(document).ready(function()
});
if(document.location.href.indexOf("advertise") < 0)
{
$('#main_slider .slider_item:first-child').click();
}
let item_width = $("#main_slider .slider_item").outerWidth();

View File

@ -0,0 +1,49 @@
<?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);
?>
<? $colors = ["#1C01A9", "#A8026B", "#04A8A4", ]; ?>
<section id="main_slider">
<div class="container">
<div class="main_slider_swiper">
<p class="slider_active_title"><?= str_replace("", "<span style='font-family: montserrat; font-weight: 200;'>₽</span>", $arResult['SLIDES'][0]['NAME']); ?></p>
</div>
<?/*
<div class="slider_list">
<div class="scrolled">
<div
id="slider_button_<?= $arResult['SLIDES'][0]['ID']; ?>"
class="slider_item erid active"
data-title="<?= str_replace("", "<span style='font-family: montserrat; font-weight: 200;'></span>", $arResult['SLIDES'][0]['NAME']); ?>"
style="color: <?= $colors[0]; ?>;"
data-image="<?= $arResult['SLIDES'][0]['DETAIL_PICTURE']; ?>"
data-tb-image="<?= $arResult['SLIDES'][0]['DETAIL_PICTURE']; ?>"
data-sm-image="<?= $arResult['SLIDES'][0]['PREVIEW_PICTURE']; ?>"
data-erid="<?= !isset($_GET['advertise']) ? $arResult['SLIDES'][0]['PROPERTIES']['ADVERTISING_ERIR']['VALUE'] : ""; ?>"
data-creative="<?= $arResult['SLIDES'][0]['PROPERTIES']['ADVERTISING_SAMPLE_ID']['VALUE']; ?>"
>
<p class="item_name"><?= $arResult['SLIDES'][0]['PROPERTIES']['TAGLINE']['VALUE']; ?></p>
<span href="<?= $arResult['SLIDES'][0]['PROPERTIES']['URL']['VALUE']; ?>" class="item_link">Подробнее</span>
<a href="<?= $arResult['SLIDES'][0]['PROPERTIES']['URL']['VALUE']; ?>" class="item_link"></a>
</div>
</div>
</div>
*/?>
</div>
<img src="<?= $arResult['SLIDES'][0]['DETAIL_PICTURE']; ?>" class="main_slider-image" alt="Специальное предложение" />
<div class="advblock adv_button_slider">Реклама
<div class="adv_content">ООО "ЛК Эволюция"</div>
<div class="adv_content">ИНН 9724016636</div>
<div id="main_slider_erid" class="adv_content"></div>
</div>
</section>

View File

@ -1424,6 +1424,7 @@ main .special_list .special_item a .speacial_text {
main .special_list .special_item a .speacial_text .special_desc {
margin-top: 0;
margin-bottom: 0;
width: fit-content;
}
main .special_list .special_item a .special_desc {
font-size: 15px;

View File

@ -1299,6 +1299,7 @@ main {
.special_desc {
margin-top: 0;
margin-bottom: 0;
width: fit-content;
}
}