-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ endif; ?>
\ 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);
+?>
+ $colors = ["#1C01A9", "#A8026B", "#04A8A4", ]; ?>
+
+
+
+
= str_replace("₽", "₽", $arResult['SLIDES'][0]['NAME']); ?>
+
+ /*
+
+ */?>
+
+
+
+
\ No newline at end of file