From 3a9e3a73af8a595c0ade48a077931fa7f8a6a916 Mon Sep 17 00:00:00 2001 From: merelendor Date: Sun, 26 Feb 2023 23:54:24 +0300 Subject: [PATCH] update for regions/catalog 404 pages --- 500.php | 2 +- bitrix/php_interface/init.php | 2 + .../evolution/catalog/component.php | 25 +++- .../catalog/templates/.default/template.php | 2 +- local/include/body.php | 25 ++++ local/include/footer.php | 92 +++++++++++++++ local/include/head.php | 59 ++++++++++ local/templates/404/footer.php | 78 ++----------- local/templates/404/header.php | 99 ++++------------ local/templates/500/header.php | 62 ++-------- local/templates/evolution/footer.php | 96 ++-------------- local/templates/evolution/header.php | 108 ++++-------------- 12 files changed, 277 insertions(+), 373 deletions(-) create mode 100644 local/include/body.php create mode 100644 local/include/footer.php create mode 100644 local/include/head.php diff --git a/500.php b/500.php index 703de56..f39d40a 100644 --- a/500.php +++ b/500.php @@ -2,7 +2,7 @@
-

502

+

500

Извините, возникла техническая проблема, свяжитесь с нами по телефона 8 800 111 22 33

502 diff --git a/bitrix/php_interface/init.php b/bitrix/php_interface/init.php index 03c9a5e..d9acc7c 100644 --- a/bitrix/php_interface/init.php +++ b/bitrix/php_interface/init.php @@ -119,6 +119,8 @@ class HttpExceptionHandlerOutput extends \Bitrix\Main\Diag\HttpExceptionHandlerO include($_SERVER["DOCUMENT_ROOT"] . "/local/templates/500/header.php"); include $_SERVER['DOCUMENT_ROOT'] . '/500.php'; include($_SERVER["DOCUMENT_ROOT"] . "/local/templates/500/footer.php"); + + CHTTP::SetStatus("500 Internal Server Error"); } } } diff --git a/local/components/evolution/catalog/component.php b/local/components/evolution/catalog/component.php index 3913d1a..1d073db 100644 --- a/local/components/evolution/catalog/component.php +++ b/local/components/evolution/catalog/component.php @@ -23,6 +23,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) if(CModule::IncludeModule('iblock')) { $breadcrumbs = []; + $canonical = []; $arResult = [ 'SELECTED' => [], @@ -112,6 +113,8 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) "NAME" => $brands_ar_res['NAME'], "URL" => "https://".SITE_SERVER_NAME.$arParams['PATH'].$arResult['SELECTED']['BRAND']."/", ]); + + array_push($canonical, $arParams['BRAND']); } $arResult['EXTENDED'] = true; @@ -153,6 +156,8 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) "URL" => "https://".SITE_SERVER_NAME.$arParams['PATH'].$arResult['SELECTED']['BRAND']."/".$arResult['SELECTED']['MODEL']."/", ]); + array_push($canonical, $arParams['MODEL']); + if(!is_null($arParams['REGION']) && $arParams['REGION'] !== "root") { if($models_ar_res['PROPERTIES']['REGIONS']['VALUE'] !== "Да") @@ -518,7 +523,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) /* $ar_city['LEADER_NAME'] = $ar_city['PROPERTIES']['OFFICES']['RELATED'][0]['PROPERTIES']['LEADER_NAME']['VALUE']; $ar_city['LEADER_POSITION'] = $ar_city['PROPERTIES']['OFFICES']['RELATED'][0]['PROPERTIES']['LEADER_POSITION']['VALUE']; - + if(!empty($ar_city['PROPERTIES']['OFFICES']['RELATED'][0]['PROPERTIES']['LEADER_POSITION']['VALUE'])) { $ar_city['LEADER_PHOTO'] = CFile::GetPath($ar_city['PROPERTIES']['OFFICES']['RELATED'][0]['PROPERTIES']['LEADER_PHOTO']['VALUE']); @@ -533,6 +538,8 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) "URL" => "https://".SITE_SERVER_NAME."/regions/".$ar_city['CODE']."/", ]); + array_unshift($canonical, $ar_city['CODE']); + if(!empty($arResult['SELECTED']['MODEL'])) { //array_unshift($breadcrumbs, [ @@ -544,7 +551,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) $APPLICATION->SetPageProperty("description", "Новые автомобили ".$arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг для юридических лиц и ИП. Вы можете купить ".$arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный."); $APPLICATION->SetPageProperty("keywords", $arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." ".$ar_city['NAME']." в лизинг, купить ".$arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']." ".$ar_city['NAME']." в лизинг"); - $APPLICATION->AddHeadString(''); + //$APPLICATION->AddHeadString(''); } elseif(!empty($arResult['SELECTED']['BRAND'])) { @@ -557,7 +564,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) $APPLICATION->SetPageProperty("description", "Новые автомобили ".$arResult['TITLES']['BRAND']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг для юридических лиц и ИП. Вы можете купить ".$arResult['TITLES']['BRAND']." в ".$ar_city['PROPERTIES']['CASE']['VALUE']." в лизинг от официальных дилеров, автосалонов на выгодных условиях со скидкой. Телефон горячей линии ".CENTRAL_PHONE_FORMATTED." - звонок по России бесплатный."); $APPLICATION->SetPageProperty("keywords", $arResult['TITLES']['BRAND']." ".$ar_city['NAME']." в лизинг, купить ".$arResult['TITLES']['BRAND']." ".$ar_city['NAME']." в лизинг"); - $APPLICATION->AddHeadString(''); + //$APPLICATION->AddHeadString(''); } else { @@ -570,8 +577,15 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) $APPLICATION->SetPageProperty("description", "Лизинговая компания Эволюция предлагает быстрое оформление авто в лизинг в ".$ar_city['PROPERTIES']['CASE']['VALUE']." для юридических лиц и ИП. Выгодные цены, спецпредложения, простое оформление, консультирование и сопровождение."); $APPLICATION->SetPageProperty("keywords", "Лизинг в ".$ar_city['PROPERTIES']['CASE']['VALUE'].", лизинг авто ".$ar_city['NAME'].", купить машину в лизинг ".$ar_city['NAME'].""); - $APPLICATION->AddHeadString(''); + //$APPLICATION->AddHeadString(''); } + + $APPLICATION->AddHeadString(' 0 ? "/" : "").'"/>'); + } + + if(!isset($ar_city)) + { + define('ERROR_404', 'Y'); } } } @@ -579,6 +593,8 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) { if(!isset($arParams['PROGRAM'])) { + $APPLICATION->AddHeadString(' 0 ? "/" : "").'"/>'); + /* if(isset($arResult['SELECTED']['BRAND'])) { if(isset($arResult['SELECTED']['MODEL'])) @@ -594,6 +610,7 @@ if($this->StartResultCache(60*60*24, md5(var_export($_POST, true)))) { $APPLICATION->AddHeadString(''); } + */ } } diff --git a/local/components/evolution/catalog/templates/.default/template.php b/local/components/evolution/catalog/templates/.default/template.php index c4338ac..9642ed7 100644 --- a/local/components/evolution/catalog/templates/.default/template.php +++ b/local/components/evolution/catalog/templates/.default/template.php @@ -47,7 +47,7 @@ else $title = $arResult['TITLES']['BRAND']." ".$arResult['TITLES']['MODEL']; } - $subtitle = " в лизинг"; + $subtitle = " в лизинг для юридических лиц и ИП"; } } diff --git a/local/include/body.php b/local/include/body.php new file mode 100644 index 0000000..414414a --- /dev/null +++ b/local/include/body.php @@ -0,0 +1,25 @@ + + + + +
"> + IncludeComponent("bitrix:menu", "evolution", Array( + "ALLOW_MULTI_SELECT" => "N", // Разрешить несколько активных пунктов одновременно + "CHILD_MENU_TYPE" => "left", // Тип меню для остальных уровней + "DELAY" => "N", // Откладывать выполнение шаблона меню + "MAX_LEVEL" => "1", // Уровень вложенности меню + "MENU_CACHE_GET_VARS" => array( // Значимые переменные запроса + 0 => "", + ), + "MENU_CACHE_TIME" => "3600", // Время кеширования (сек.) + "MENU_CACHE_TYPE" => "N", // Тип кеширования + "MENU_CACHE_USE_GROUPS" => "Y", // Учитывать права доступа + "ROOT_MENU_TYPE" => "top", // Тип меню для первого уровня + "USE_EXT" => "N", // Подключать файлы с именами вида .тип_меню.menu_ext.php + ), + false + ); ?> +
+
"> + + ShowPanel(); ?> \ No newline at end of file diff --git a/local/include/footer.php b/local/include/footer.php new file mode 100644 index 0000000..03fc2f2 --- /dev/null +++ b/local/include/footer.php @@ -0,0 +1,92 @@ + + + + + + + +IncludeComponent( + "evolution:mainoffice.markup", + "", + Array() + ); +?> \ No newline at end of file diff --git a/local/include/head.php b/local/include/head.php new file mode 100644 index 0000000..0befa99 --- /dev/null +++ b/local/include/head.php @@ -0,0 +1,59 @@ + + + + +SetAdditionalCSS("/local/templates/evolution/css/style.css"); ?> +AddHeadScript('/local/templates/evolution/js/react.production.min.js'); ?> +AddHeadScript('/local/templates/evolution/js/react-dom.production.min.js'); ?> +AddHeadScript('/local/templates/evolution/js/babel.min.js'); ?> + + + + + +ShowHead(); ?> +<? $APPLICATION->ShowTitle(); ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local/templates/404/footer.php b/local/templates/404/footer.php index 9342f9b..223f080 100644 --- a/local/templates/404/footer.php +++ b/local/templates/404/footer.php @@ -5,78 +5,16 @@ } ?>
- - - - - - - - IncludeComponent( - "evolution:mainoffice.markup", + "bitrix:main.include", "", - Array() + Array( + "AREA_FILE_SHOW" => "file", + "PATH" => "/local/include/footer.php", + "EDIT_TEMPLATE" => "" + ), + false ); ?> diff --git a/local/templates/404/header.php b/local/templates/404/header.php index 9d14dd4..eb60ff5 100644 --- a/local/templates/404/header.php +++ b/local/templates/404/header.php @@ -3,80 +3,29 @@ IncludeTemplateLangFile(__FILE__); ?> - - - - - - SetAdditionalCSS("/local/templates/evolution/css/style.css"); ?> - AddHeadScript('/local/templates/evolution/js/react.production.min.js'); ?> - AddHeadScript('/local/templates/evolution/js/react-dom.production.min.js'); ?> - AddHeadScript('/local/templates/evolution/js/babel.min.js'); ?> - - - - - - ShowHead(); ?> - <? $APPLICATION->ShowTitle(); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- IncludeComponent("bitrix:menu", "evolution", Array( - "ALLOW_MULTI_SELECT" => "N", // Разрешить несколько активных пунктов одновременно - "CHILD_MENU_TYPE" => "left", // Тип меню для остальных уровней - "DELAY" => "N", // Откладывать выполнение шаблона меню - "MAX_LEVEL" => "1", // Уровень вложенности меню - "MENU_CACHE_GET_VARS" => array( // Значимые переменные запроса - 0 => "", - ), - "MENU_CACHE_TIME" => "3600", // Время кеширования (сек.) - "MENU_CACHE_TYPE" => "N", // Тип кеширования - "MENU_CACHE_USE_GROUPS" => "Y", // Учитывать права доступа - "ROOT_MENU_TYPE" => "top", // Тип меню для первого уровня - "USE_EXT" => "N", // Подключать файлы с именами вида .тип_меню.menu_ext.php + IncludeComponent( + "bitrix:main.include", + "", + Array( + "AREA_FILE_SHOW" => "file", + "PATH" => "/local/include/head.php", + "EDIT_TEMPLATE" => "" ), false - ); ?> -
-
- - ShowPanel(); ?> \ No newline at end of file + ); + ?> + + + IncludeComponent( + "bitrix:main.include", + "", + Array( + "AREA_FILE_SHOW" => "file", + "PATH" => "/local/include/body.php", + "EDIT_TEMPLATE" => "" + ), + false + ); + ?> \ No newline at end of file diff --git a/local/templates/500/header.php b/local/templates/500/header.php index 1aa4e38..3884047 100644 --- a/local/templates/500/header.php +++ b/local/templates/500/header.php @@ -3,56 +3,18 @@ IncludeTemplateLangFile(__FILE__); ?> - - - - - - SetAdditionalCSS("/local/templates/evolution/css/style.css"); ?> - AddHeadScript('/local/templates/evolution/js/react.production.min.js'); ?> - AddHeadScript('/local/templates/evolution/js/react-dom.production.min.js'); ?> - AddHeadScript('/local/templates/evolution/js/babel.min.js'); ?> - - - - - - ShowHead(); ?> - <? $APPLICATION->ShowTitle(); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - + IncludeComponent( + "bitrix:main.include", + "", + Array( + "AREA_FILE_SHOW" => "file", + "PATH" => "/local/include/head.php", + "EDIT_TEMPLATE" => "" + ), + false + ); + ?>
\ No newline at end of file diff --git a/local/templates/evolution/footer.php b/local/templates/evolution/footer.php index 37bf0f0..223f080 100644 --- a/local/templates/evolution/footer.php +++ b/local/templates/evolution/footer.php @@ -5,96 +5,16 @@ } ?>
- - - - - - - - IncludeComponent( - "evolution:mainoffice.markup", + "bitrix:main.include", "", - Array() + Array( + "AREA_FILE_SHOW" => "file", + "PATH" => "/local/include/footer.php", + "EDIT_TEMPLATE" => "" + ), + false ); ?> diff --git a/local/templates/evolution/header.php b/local/templates/evolution/header.php index 8149cc0..eb60ff5 100644 --- a/local/templates/evolution/header.php +++ b/local/templates/evolution/header.php @@ -3,89 +3,29 @@ IncludeTemplateLangFile(__FILE__); ?> - - - - - SetAdditionalCSS("/local/templates/evolution/css/style.css"); ?> - AddHeadScript('/local/templates/evolution/js/react.production.min.js'); ?> - AddHeadScript('/local/templates/evolution/js/react-dom.production.min.js'); ?> - AddHeadScript('/local/templates/evolution/js/babel.min.js'); ?> - - - - - - ShowHead(); ?> - <? $APPLICATION->ShowTitle(); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"> - IncludeComponent("bitrix:menu", "evolution", Array( - "ALLOW_MULTI_SELECT" => "N", // Разрешить несколько активных пунктов одновременно - "CHILD_MENU_TYPE" => "left", // Тип меню для остальных уровней - "DELAY" => "N", // Откладывать выполнение шаблона меню - "MAX_LEVEL" => "1", // Уровень вложенности меню - "MENU_CACHE_GET_VARS" => array( // Значимые переменные запроса - 0 => "", - ), - "MENU_CACHE_TIME" => "3600", // Время кеширования (сек.) - "MENU_CACHE_TYPE" => "N", // Тип кеширования - "MENU_CACHE_USE_GROUPS" => "Y", // Учитывать права доступа - "ROOT_MENU_TYPE" => "top", // Тип меню для первого уровня - "USE_EXT" => "N", // Подключать файлы с именами вида .тип_меню.menu_ext.php + IncludeComponent( + "bitrix:main.include", + "", + Array( + "AREA_FILE_SHOW" => "file", + "PATH" => "/local/include/head.php", + "EDIT_TEMPLATE" => "" ), false - ); ?> -
-
"> - - ShowPanel(); ?> \ No newline at end of file + ); + ?> + + + IncludeComponent( + "bitrix:main.include", + "", + Array( + "AREA_FILE_SHOW" => "file", + "PATH" => "/local/include/body.php", + "EDIT_TEMPLATE" => "" + ), + false + ); + ?> \ No newline at end of file