diff --git a/adv/index.php b/adv/index.php index 0140ade..ed2548d 100644 --- a/adv/index.php +++ b/adv/index.php @@ -1,42 +1,53 @@ -IncludeComponent( - "evolution:special.offers.cars", - "", - [] - ); -?> -
-
- IncludeComponent( - "evolution:programs.offers.banners", - "", - Array( - "BANNERS" => [], - "PAGINATION" => "N", - ) - ); - ?> -
-
-
-
-
-
-
-
- + ); + ?>
-
-
+ +
+
+
+
+
+
+ +
+
+
+ \ No newline at end of file diff --git a/bitrix/php_interface/init.php b/bitrix/php_interface/init.php index 4940acd..e5c59fc 100644 --- a/bitrix/php_interface/init.php +++ b/bitrix/php_interface/init.php @@ -422,10 +422,9 @@ function prepare_advertiser_request($arFields, $properties) return $response; } -AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "OnBeforeIBlockElementAddHandler"); -AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnAfterIBlockElementAddHandler"); -AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "OnBeforeIBlockElementUpdateHandler"); -//AddEventHandler("iblock", "OnIBlockElementSetPropertyValuesEx", "OnIBlockElementSetPropertyValuesExHandler"); +AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "OnBeforeIBlockElementAddHandler"); +AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnAfterIBlockElementAddHandler"); +AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "OnBeforeIBlockElementUpdateHandler"); 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'])) + if(!is_null($arFields['PROPERTY_VALUES']['ADVERTISING']) || (isset($arFields['PROPERTY_VALUES'][$properties['ADVERTISING']][0]['VALUE']) && $arFields['PROPERTY_VALUES'][$properties['ADVERTISING']][0]['VALUE'] !== "")) { - 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(); } + 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'] === "") { - 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); + 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(); } - + + 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() -{ - -} - ?> \ No newline at end of file diff --git a/local/components/evolution/slider.main/component.php b/local/components/evolution/slider.main/component.php index 65a555e..17877eb 100644 --- a/local/components/evolution/slider.main/component.php +++ b/local/components/evolution/slider.main/component.php @@ -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); diff --git a/local/components/evolution/slider.main/templates/.default/script.js b/local/components/evolution/slider.main/templates/.default/script.js index a51b12a..ce37123 100644 --- a/local/components/evolution/slider.main/templates/.default/script.js +++ b/local/components/evolution/slider.main/templates/.default/script.js @@ -42,10 +42,7 @@ $(document).ready(function() }); - if(document.location.href.indexOf("advertise") < 0) - { - $('#main_slider .slider_item:first-child').click(); - } + $('#main_slider .slider_item:first-child').click(); let item_width = $("#main_slider .slider_item").outerWidth(); diff --git a/local/components/evolution/slider.main/templates/single/script.js b/local/components/evolution/slider.main/templates/single/script.js new file mode 100644 index 0000000..e69de29 diff --git a/local/components/evolution/slider.main/templates/single/style.css b/local/components/evolution/slider.main/templates/single/style.css new file mode 100644 index 0000000..e69de29 diff --git a/local/components/evolution/slider.main/templates/single/template.php b/local/components/evolution/slider.main/templates/single/template.php new file mode 100644 index 0000000..86ad21a --- /dev/null +++ b/local/components/evolution/slider.main/templates/single/template.php @@ -0,0 +1,49 @@ +setFrameMode(true); +?> + +
+
+
+

₽", $arResult['SLIDES'][0]['NAME']); ?>

+
+ +
+
₽", $arResult['SLIDES'][0]['NAME']); ?>" + style="color: ;" + data-image="" + data-tb-image="" + data-sm-image="" + data-erid="" + data-creative="" + > +

+ Подробнее + +
+
+
+ */?> + + Специальное предложение +
Реклама +
ООО "ЛК Эволюция"
+
ИНН 9724016636
+
+
+
\ No newline at end of file