Maks | правки Антона зафиксировал

master
Andrei 2 months ago
parent dedec6b82c
commit 0010d71a61
  1. 125
      catalog/index.php
  2. 221
      catalog/novaya-stranitsa.php
  3. 12
      local/templates/.default/components/bitrix/catalog.item/.default/template.php
  4. 2
      local/templates/.default/components/bitrix/catalog.item/mainpage/template.php
  5. 17
      local/templates/.default/components/bitrix/catalog.smart.filter/cat_filter/template.php
  6. 12
      local/templates/.default/components/bitrix/catalog/main/section_vertical.php
  7. 103
      local/templates/.default/js/main.js
  8. 2
      local/templates/EraSeptik/footer.php

@ -1,20 +1,74 @@
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Каталог");
?><?$APPLICATION->IncludeComponent(
"bitrix:catalog",
<?php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$APPLICATION->SetTitle("");
// Получаем текущую страницу из URL
$page = 1;
if (preg_match('/page-(\d+)/', $APPLICATION->GetCurPage(), $matches)) {
$page = intval($matches[1]);
}
// Получаем название раздела, если мы находимся в разделе
$baseTitle = "Каталог";
if ($APPLICATION->GetCurDir() !== '/catalog/') {
$nav = CIBlockSection::GetNavChain(4, CIBlockFindTools::GetSectionID($APPLICATION->GetCurDir(), "", "catalog"));
if ($nav->SelectedRowsCount() > 0) {
$section = $nav->Fetch();
$baseTitle = $section['NAME'];
}
}
// Устанавливаем заголовок с учетом пагинации
if ($page > 1) {
$APPLICATION->SetPageProperty("title", $baseTitle . " - страница " . $page);
$APPLICATION->SetTitle($baseTitle . " - страница " . $page);
} else {
$APPLICATION->SetTitle($baseTitle);
}
// Определяем параметры сортировки
$sortField = "sort";
$sortOrder = "desc";
if (isset($_GET['sorting'])) {
if ($_GET['sorting'] === 'price_up') {
$sortField = "CATALOG_PRICE_1";
$sortOrder = "asc";
} elseif ($_GET['sorting'] === 'price_down') {
$sortField = "CATALOG_PRICE_1";
$sortOrder = "desc";
} elseif ($_GET['sorting'] === 'default') {
$sortField = "sort";
$sortOrder = "desc";
} elseif ($_GET['sorting'] === 'reviews') {
$sortField = "PROPERTY_82";
$sortOrder = "desc";
}
}
?><? $APPLICATION->IncludeComponent(
"bitrix:catalog",
"main",
array(
"SEF_MODE" => "Y",
"SEF_FOLDER" => "/",
"SEF_URL_TEMPLATES" => array(
"sections" => "catalog/",
"section" => "#SECTION_CODE_PATH#/", // нельзя слеш ставить в начале
"element" => "#ELEMENT_CODE#/", // нельзя слеш ставить в начале
"compare" => "compare/",
),
"ACTION_VARIABLE" => "action",
"ADD_ELEMENT_CHAIN" => "Y",
"ADD_PICT_PROP" => "-",
"ADD_PROPERTIES_TO_BASKET" => "Y",
"ADD_SECTIONS_CHAIN" => "Y",
// "AJAX_MODE" => "Y",
"AJAX_MODE" => "N",
"AJAX_OPTION_ADDITIONAL" => "",
"AJAX_OPTION_HISTORY" => "N",
"AJAX_OPTION_HISTORY" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "N",
"AJAX_OPTION_STYLE" => "Y",
"BASKET_URL" => "/personal/basket.php",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
@ -23,24 +77,20 @@ $APPLICATION->SetTitle("Каталог");
"COMMON_ADD_TO_BASKET_ACTION" => "ADD",
"COMMON_SHOW_CLOSE_POPUP" => "N",
"COMPATIBLE_MODE" => "N",
"COMPONENT_TEMPLATE" => "main",
"CONVERT_CURRENCY" => "N",
"DETAIL_ADD_DETAIL_TO_SLIDER" => "N",
"DETAIL_ADD_TO_BASKET_ACTION" => array(
0 => "BUY",
),
"DETAIL_ADD_TO_BASKET_ACTION_PRIMARY" => array(
0 => "BUY",
),
"DETAIL_ADD_TO_BASKET_ACTION" => array(0 => "BUY", ),
"DETAIL_ADD_TO_BASKET_ACTION_PRIMARY" => array(0 => "BUY", ),
"DETAIL_BACKGROUND_IMAGE" => "-",
"DETAIL_BRAND_USE" => "N",
"DETAIL_BROWSER_TITLE" => "-",
"DETAIL_CHECK_SECTION_ID_VARIABLE" => "N",
"DETAIL_DETAIL_PICTURE_MODE" => array(
0 => "MAGNIFIER",
),
"DETAIL_DETAIL_PICTURE_MODE" => array(0 => "MAGNIFIER", ),
"DETAIL_DISPLAY_NAME" => "Y",
"DETAIL_DISPLAY_PREVIEW_TEXT_MODE" => "E",
"DETAIL_IMAGE_RESOLUTION" => "16by9",
"DETAIL_MAIN_BLOCK_PROPERTY_CODE" => array(),
"DETAIL_META_DESCRIPTION" => "-",
"DETAIL_META_KEYWORDS" => "-",
"DETAIL_PRODUCT_INFO_BLOCK_ORDER" => "sku,props",
@ -56,12 +106,13 @@ $APPLICATION->SetTitle("Каталог");
"DISABLE_INIT_JS_IN_COMPONENT" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"DISPLAY_TOP_PAGER" => "N",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_FIELD" => $sortField,
"ELEMENT_SORT_FIELD2" => "id",
"ELEMENT_SORT_ORDER" => "desc",
"ELEMENT_SORT_ORDER" => $sortOrder,
"ELEMENT_SORT_ORDER2" => "desc",
"FILE_404" => "",
"FILTER_HIDE_ON_MOBILE" => "N",
"FILTER_NAME" => "",
"FILTER_VIEW_MODE" => "VERTICAL",
"GIFTS_DETAIL_BLOCK_TITLE" => "Выберите один из подарков",
"GIFTS_DETAIL_HIDE_BLOCK_TITLE" => "N",
@ -85,8 +136,7 @@ $APPLICATION->SetTitle("Каталог");
"IBLOCK_TYPE" => "catalog",
"INCLUDE_SUBSECTIONS" => "Y",
"INSTANT_RELOAD" => "N",
"LABEL_PROP" => array(
),
"LABEL_PROP" => array(),
"LAZY_LOAD" => "Y",
"LINE_ELEMENT_COUNT" => "3",
"LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#",
@ -99,6 +149,7 @@ $APPLICATION->SetTitle("Каталог");
"LIST_META_KEYWORDS" => "-",
"LIST_PRODUCT_BLOCKS_ORDER" => "price,props,sku,quantityLimit,quantity,buttons",
"LIST_PRODUCT_ROW_VARIANTS" => "[{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false}]",
"LIST_PROPERTY_CODE_MOBILE" => array(),
"LIST_SHOW_SLIDER" => "N",
"LIST_SLIDER_INTERVAL" => "3000",
"LIST_SLIDER_PROGRESS" => "N",
@ -123,10 +174,9 @@ $APPLICATION->SetTitle("Каталог");
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => ".default",
"PAGER_TITLE" => "Товары",
"PAGE_ELEMENT_COUNT" => "12",
"PAGE_ELEMENT_COUNT" => "9",
"PARTIAL_PRODUCT_PROPERTIES" => "N",
"PRICE_CODE" => array(
),
"PRICE_CODE" => array(),
"PRICE_VAT_INCLUDE" => "Y",
"PRICE_VAT_SHOW_VALUE" => "N",
"PRODUCT_ID_VARIABLE" => "id",
@ -144,6 +194,7 @@ $APPLICATION->SetTitle("Каталог");
"SECTION_ADD_TO_BASKET_ACTION" => "ADD",
"SECTION_BACKGROUND_IMAGE" => "-",
"SECTION_COUNT_ELEMENTS" => "N",
"SECTION_ID" => isset($_REQUEST["SECTION_ID"]) ? $_REQUEST["SECTION_ID"] : "",
"SECTION_ID_VARIABLE" => "SECTION_ID",
"SECTION_TOP_DEPTH" => "3",
"SET_LAST_MODIFIED" => "N",
@ -193,28 +244,6 @@ $APPLICATION->SetTitle("Каталог");
"USE_PRODUCT_QUANTITY" => "N",
"USE_SALE_BESTSELLERS" => "N",
"USE_STORE" => "N",
"COMPONENT_TEMPLATE" => "main",
"LIST_PROPERTY_CODE_MOBILE" => array(
),
"DETAIL_MAIN_BLOCK_PROPERTY_CODE" => array(
),
"FILTER_NAME" => "",
"SECTION_ID" => $_REQUEST["SECTION_ID"], // или SECTION_CODE, если ЧПУ
"SECTION_CODE" => $_REQUEST["SECTION_CODE"], // если URL вида /category/phones/
"SEF_MODE" => "Y",
"SEF_FOLDER" => "/",
"SEF_URL_TEMPLATES" => array(
"sections" => "catalog/",
"section" => "#SECTION_CODE_PATH#/", // нельзя слеш ставить в начале
"element"=>"#ELEMENT_CODE#/", // нельзя слеш ставить в начале
"compare" => "compare/",
"smart_filter" => "#SMART_FILTER_PATH#/apply/"
),
"VARIABLE_ALIASES" => array(
"compare" => array(
"ACTION_CODE" => "action",
),
)
),
false
);?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
"VARIABLE_ALIASES" => array("compare" => array("ACTION_CODE" => "action", ), )
)
); ?><? require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php"); ?>

@ -1,221 +0,0 @@
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Новая страница");
?><?$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
"bootstrap_v4",
Array(
"CACHE_GROUPS" => "Y",
"CACHE_TIME" => "36000000",
"CACHE_TYPE" => "A",
"CONVERT_CURRENCY" => "N",
"DISPLAY_ELEMENT_COUNT" => "Y",
"FILTER_NAME" => "arrFilter",
"FILTER_VIEW_MODE" => "vertical",
"HIDE_NOT_AVAILABLE" => "N",
"IBLOCK_ID" => "4",
"IBLOCK_TYPE" => "catalog",
"PAGER_PARAMS_NAME" => "arrPager",
"POPUP_POSITION" => "left",
"PREFILTER_NAME" => "smartPreFilter",
"PRICE_CODE" => array(),
"SAVE_IN_SESSION" => "N",
"SECTION_CODE" => "",
"SECTION_DESCRIPTION" => "-",
"SECTION_ID" => $_REQUEST["SECTION_ID"],
"SECTION_TITLE" => "-",
"SEF_MODE" => "N",
"TEMPLATE_THEME" => "blue",
"XML_EXPORT" => "N"
)
);?><br>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog",
"bootstrap_v4",
Array(
"ACTION_VARIABLE" => "action",
"ADD_ELEMENT_CHAIN" => "N",
"ADD_PROPERTIES_TO_BASKET" => "Y",
"ADD_SECTIONS_CHAIN" => "Y",
"AJAX_MODE" => "N",
"AJAX_OPTION_ADDITIONAL" => "",
"AJAX_OPTION_HISTORY" => "N",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"BASKET_URL" => "/personal/basket.php",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"CACHE_TIME" => "36000000",
"CACHE_TYPE" => "A",
"COMMON_ADD_TO_BASKET_ACTION" => "ADD",
"COMMON_SHOW_CLOSE_POPUP" => "N",
"COMPATIBLE_MODE" => "N",
"CONVERT_CURRENCY" => "N",
"DETAIL_ADD_DETAIL_TO_SLIDER" => "N",
"DETAIL_ADD_TO_BASKET_ACTION" => array("BUY"),
"DETAIL_ADD_TO_BASKET_ACTION_PRIMARY" => array("BUY"),
"DETAIL_BACKGROUND_IMAGE" => "-",
"DETAIL_BRAND_USE" => "N",
"DETAIL_BROWSER_TITLE" => "-",
"DETAIL_CHECK_SECTION_ID_VARIABLE" => "N",
"DETAIL_DETAIL_PICTURE_MODE" => array("POPUP","MAGNIFIER"),
"DETAIL_DISPLAY_NAME" => "Y",
"DETAIL_DISPLAY_PREVIEW_TEXT_MODE" => "E",
"DETAIL_IMAGE_RESOLUTION" => "16by9",
"DETAIL_META_DESCRIPTION" => "-",
"DETAIL_META_KEYWORDS" => "-",
"DETAIL_PRODUCT_INFO_BLOCK_ORDER" => "sku,props",
"DETAIL_PRODUCT_PAY_BLOCK_ORDER" => "rating,price,priceRanges,quantityLimit,quantity,buttons",
"DETAIL_SET_CANONICAL_URL" => "N",
"DETAIL_SET_VIEWED_IN_COMPONENT" => "N",
"DETAIL_SHOW_POPULAR" => "Y",
"DETAIL_SHOW_SLIDER" => "N",
"DETAIL_SHOW_VIEWED" => "Y",
"DETAIL_STRICT_SECTION_CHECK" => "N",
"DETAIL_USE_COMMENTS" => "N",
"DETAIL_USE_VOTE_RATING" => "N",
"DISABLE_INIT_JS_IN_COMPONENT" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"DISPLAY_TOP_PAGER" => "N",
"ELEMENT_SORT_FIELD" => "sort",
"ELEMENT_SORT_FIELD2" => "id",
"ELEMENT_SORT_ORDER" => "asc",
"ELEMENT_SORT_ORDER2" => "desc",
"FILTER_HIDE_ON_MOBILE" => "N",
"FILTER_VIEW_MODE" => "VERTICAL",
"GIFTS_DETAIL_BLOCK_TITLE" => "Выберите один из подарков",
"GIFTS_DETAIL_HIDE_BLOCK_TITLE" => "N",
"GIFTS_DETAIL_PAGE_ELEMENT_COUNT" => "4",
"GIFTS_DETAIL_TEXT_LABEL_GIFT" => "Подарок",
"GIFTS_MAIN_PRODUCT_DETAIL_BLOCK_TITLE" => "Выберите один из товаров, чтобы получить подарок",
"GIFTS_MAIN_PRODUCT_DETAIL_HIDE_BLOCK_TITLE" => "N",
"GIFTS_MAIN_PRODUCT_DETAIL_PAGE_ELEMENT_COUNT" => "4",
"GIFTS_MESS_BTN_BUY" => "Выбрать",
"GIFTS_SECTION_LIST_BLOCK_TITLE" => "Подарки к товарам этого раздела",
"GIFTS_SECTION_LIST_HIDE_BLOCK_TITLE" => "N",
"GIFTS_SECTION_LIST_PAGE_ELEMENT_COUNT" => "4",
"GIFTS_SECTION_LIST_TEXT_LABEL_GIFT" => "Подарок",
"GIFTS_SHOW_DISCOUNT_PERCENT" => "Y",
"GIFTS_SHOW_IMAGE" => "Y",
"GIFTS_SHOW_NAME" => "Y",
"GIFTS_SHOW_OLD_PRICE" => "Y",
"HIDE_NOT_AVAILABLE" => "N",
"HIDE_NOT_AVAILABLE_OFFERS" => "N",
"IBLOCK_ID" => "",
"IBLOCK_TYPE" => "catalog",
"INCLUDE_SUBSECTIONS" => "Y",
"INSTANT_RELOAD" => "N",
"LAZY_LOAD" => "N",
"LINE_ELEMENT_COUNT" => "3",
"LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#",
"LINK_IBLOCK_ID" => "",
"LINK_IBLOCK_TYPE" => "",
"LINK_PROPERTY_SID" => "",
"LIST_BROWSER_TITLE" => "-",
"LIST_META_DESCRIPTION" => "-",
"LIST_META_KEYWORDS" => "-",
"LOAD_ON_SCROLL" => "N",
"MESSAGE_404" => "",
"MESS_BTN_ADD_TO_BASKET" => "В корзину",
"MESS_BTN_BUY" => "Купить",
"MESS_BTN_COMPARE" => "Сравнение",
"MESS_BTN_DETAIL" => "Подробнее",
"MESS_BTN_LAZY_LOAD" => "Показать ещё",
"MESS_BTN_SUBSCRIBE" => "Подписаться",
"MESS_COMMENTS_TAB" => "Комментарии",
"MESS_DESCRIPTION_TAB" => "Описание",
"MESS_NOT_AVAILABLE" => "Нет в наличии",
"MESS_NOT_AVAILABLE_SERVICE" => "Недоступно",
"MESS_PRICE_RANGES_TITLE" => "Цены",
"MESS_PROPERTIES_TAB" => "Характеристики",
"PAGER_BASE_LINK_ENABLE" => "N",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => ".default",
"PAGER_TITLE" => "Товары",
"PAGE_ELEMENT_COUNT" => "30",
"PARTIAL_PRODUCT_PROPERTIES" => "N",
"PRICE_CODE" => array(),
"PRICE_VAT_INCLUDE" => "Y",
"PRICE_VAT_SHOW_VALUE" => "N",
"PRODUCT_ID_VARIABLE" => "id",
"PRODUCT_PROPS_VARIABLE" => "prop",
"PRODUCT_QUANTITY_VARIABLE" => "quantity",
"PRODUCT_SUBSCRIPTION" => "Y",
"SEARCH_CHECK_DATES" => "Y",
"SEARCH_NO_WORD_LOGIC" => "Y",
"SEARCH_PAGE_RESULT_COUNT" => "50",
"SEARCH_RESTART" => "N",
"SEARCH_USE_LANGUAGE_GUESS" => "Y",
"SEARCH_USE_SEARCH_RESULT_ORDER" => "N",
"SECTIONS_SHOW_PARENT_NAME" => "Y",
"SECTIONS_VIEW_MODE" => "LIST",
"SECTION_ADD_TO_BASKET_ACTION" => "ADD",
"SECTION_BACKGROUND_IMAGE" => "-",
"SECTION_COUNT_ELEMENTS" => "Y",
"SECTION_ID_VARIABLE" => "SECTION_ID",
"SECTION_TOP_DEPTH" => "2",
"SEF_MODE" => "N",
"SET_LAST_MODIFIED" => "N",
"SET_STATUS_404" => "N",
"SET_TITLE" => "Y",
"SHOW_404" => "N",
"SHOW_DEACTIVATED" => "N",
"SHOW_DISCOUNT_PERCENT" => "N",
"SHOW_MAX_QUANTITY" => "N",
"SHOW_OLD_PRICE" => "N",
"SHOW_PRICE_COUNT" => "1",
"SHOW_SKU_DESCRIPTION" => "N",
"SHOW_TOP_ELEMENTS" => "Y",
"SIDEBAR_DETAIL_POSITION" => "right",
"SIDEBAR_DETAIL_SHOW" => "N",
"SIDEBAR_PATH" => "",
"SIDEBAR_SECTION_POSITION" => "right",
"SIDEBAR_SECTION_SHOW" => "Y",
"TEMPLATE_THEME" => "blue",
"TOP_ADD_TO_BASKET_ACTION" => "ADD",
"TOP_ELEMENT_COUNT" => "9",
"TOP_ELEMENT_SORT_FIELD" => "sort",
"TOP_ELEMENT_SORT_FIELD2" => "id",
"TOP_ELEMENT_SORT_ORDER" => "asc",
"TOP_ELEMENT_SORT_ORDER2" => "desc",
"TOP_ENLARGE_PRODUCT" => "STRICT",
"TOP_LINE_ELEMENT_COUNT" => "3",
"TOP_PRODUCT_BLOCKS_ORDER" => "price,props,sku,quantityLimit,quantity,buttons",
"TOP_PRODUCT_ROW_VARIANTS" => "[{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false}]",
"TOP_SHOW_SLIDER" => "Y",
"TOP_SLIDER_INTERVAL" => "3000",
"TOP_SLIDER_PROGRESS" => "N",
"TOP_VIEW_MODE" => "SECTION",
"USER_CONSENT" => "N",
"USER_CONSENT_ID" => "0",
"USER_CONSENT_IS_CHECKED" => "Y",
"USER_CONSENT_IS_LOADED" => "N",
"USE_COMMON_SETTINGS_BASKET_POPUP" => "N",
"USE_COMPARE" => "N",
"USE_ELEMENT_COUNTER" => "Y",
"USE_ENHANCED_ECOMMERCE" => "N",
"USE_FILTER" => "N",
"USE_GIFTS_DETAIL" => "Y",
"USE_GIFTS_MAIN_PR_SECTION_LIST" => "Y",
"USE_GIFTS_SECTION" => "Y",
"USE_MAIN_ELEMENT_SECTION" => "N",
"USE_PRICE_COUNT" => "N",
"USE_PRODUCT_QUANTITY" => "N",
"USE_SALE_BESTSELLERS" => "Y",
"USE_STORE" => "N",
"VARIABLE_ALIASES" => Array("ELEMENT_ID"=>"ELEMENT_ID","SECTION_ID"=>"SECTION_ID")
)
);?><?$APPLICATION->IncludeComponent(
"sotbit:seo.meta",
"",
Array(
"CACHE_TIME" => "36000000",
"CACHE_TYPE" => "A",
"FILTER_NAME" => "",
"KOMBOX_FILTER" => "N",
"SECTION_ID" => $_REQUEST["SECTION_ID"]
)
);?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

@ -112,12 +112,12 @@ $this->setFrameMode(true);
<input type="hidden" name="<?echo $arParams["ACTION_VARIABLE"]?>" value="ADD2BASKET">
<input type="hidden" name="ajax_basket" value="Y">
<input type="hidden" name="<?echo $arParams["PRODUCT_ID_VARIABLE"]?>" value="<?= $arResult['ITEM']['ID'] ?>" class="id-offer">
<button type="submit" class="button button--orange add-to-cart-button" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>">
Купить
</button>
<button type="button" class="button button--outline">
Купить с установкой
</button>
<button type="button" class="button button--orange" data-product="<?= $arResult['ITEM']['NAME'] ?>">
Купить
</button>
<button type="submit" class="button button--outline add-to-cart-button" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>">
В корзину
</button>
</form>
</div>
</div>

@ -64,7 +64,7 @@ if (isset($arResult['ITEM'])):
Купить
</button>
<button type="submit" class="button button--outline add-to-cart-button" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>">
Добавить в корзину
В корзину
</button>
</form>
</div>

@ -26,7 +26,7 @@ if (isset($templateData['TEMPLATE_THEME'])) {
$this->addExternalCss($templateData['TEMPLATE_THEME']);
}
$arResult['FORM_ACTION'] = '/catalog'. preg_replace('~^/catalog/(.+?)filter/~i', "/", $arResult['FORM_ACTION']);
// $arResult['FORM_ACTION'] = '/catalog'. preg_replace('~^/catalog/(.+?)filter/~i', "/", $arResult['FORM_ACTION']);
//$this->addExternalCss("/bitrix/css/main/bootstrap.css");
//$this->addExternalCss("/bitrix/css/main/font-awesome.css");
?>
@ -954,12 +954,15 @@ $arResult['FORM_ACTION'] = '/catalog'. preg_replace('~^/catalog/(.+?)filter/~i',
</div>
</aside>
<?php
array_walk_recursive($arResult, static function (&$item, $key) {
$item = '/'. ltrim(str_replace(['/catalog', '/filter'], '', $item), '/');
});
// array_walk_recursive($arResult, static function (&$item, $key) {
// $item = '/'. ltrim(str_replace(['/catalog', '/filter'], '', $item), '/');
// });
?>
<script>
var smartFilter = new JCSmartFilter('<?= CUtil::JSEscape('')?>', '<?=CUtil::JSEscape($arParams["FILTER_VIEW_MODE"])?>', <?=CUtil::PhpToJSObject($arResult["JS_FILTER_PARAMS"])?>);
console.dir(smartFilter);
var smartFilter = new JCSmartFilter(
'<?= CUtil::JSEscape($arResult["FORM_ACTION"]) ?>',
'<?= CUtil::JSEscape($arParams["FILTER_VIEW_MODE"]) ?>',
<?= CUtil::PhpToJSObject($arResult["JS_FILTER_PARAMS"]) ?>
);
</script>

@ -102,15 +102,7 @@ $APPLICATION->IncludeComponent(
</aside>
<?php
$sortField = 'shows';
$sortOrder = 'desc';
if (isset($_GET['sort']) && in_array($_GET['sort'], ['CATALOG_PRICE_1', 'PROPERTY_82', 'shows'])) {
$sortField = $_GET['sort'];
}
if (isset($_GET['order']) && in_array($_GET['order'], ['asc', 'desc'])) {
$sortOrder = $_GET['order'];
}
$intSectionID = $APPLICATION->IncludeComponent(
"bitrix:catalog.section",
@ -118,8 +110,8 @@ $intSectionID = $APPLICATION->IncludeComponent(
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"ELEMENT_SORT_FIELD" => $sortField,
"ELEMENT_SORT_ORDER" => $sortOrder,
"ELEMENT_SORT_FIELD" => $arParams["ELEMENT_SORT_FIELD"],
"ELEMENT_SORT_ORDER" => $arParams["ELEMENT_SORT_ORDER"],
"ELEMENT_SORT_FIELD2" => $arParams["ELEMENT_SORT_FIELD2"],
"ELEMENT_SORT_ORDER2" => $arParams["ELEMENT_SORT_ORDER2"],
"PROPERTY_CODE" => (isset($arParams["LIST_PROPERTY_CODE"]) ? $arParams["LIST_PROPERTY_CODE"] : []),

@ -133,47 +133,70 @@ parcelRegister("jUaIl", function(module, exports) {
});
parcelRegister("6aHKA", function(module, exports) {
const cartPopup = document.querySelector(".cart-popup__wrapper");
const orderBtn = document.querySelector(".js-cart__order-btn");
const closeBtn = document.querySelector(".js-cart__popup-close");
const submitBtn = document.querySelector(".js-cart__popup-submit");
const cartContent = document.querySelector(".js-cart__page");
const cartOrderSuccess = document.querySelector(".js-cart__success-order");
const cartBreadcrumbs = document.querySelector(".js-cart__breadcrumbs");
orderBtn.addEventListener("click", ()=>{
cartPopup.classList.remove("cart-popup__wrapper--hidden");
});
closeBtn.addEventListener("click", ()=>{
cartPopup.classList.add("cart-popup__wrapper--hidden");
});
submitBtn.addEventListener("click", (e)=>{
e.preventDefault();
cartPopup.classList.add("cart-popup__wrapper--hidden");
cartContent.classList.add("cart-page--hidden");
cartOrderSuccess.classList.add("success-order--visible");
cartBreadcrumbs.remove();
});
cartPopup.addEventListener("click", (e)=>{
if (!document.querySelector(".cart-popup").contains(e.target)) cartPopup.classList.add("cart-popup__wrapper--hidden");
});
const cartSelect = document.querySelector(".js-cart__order-select");
const cartSelfDelivery = document.querySelector(".js-cart__self-delivery");
const cartServiceDelivery = document.querySelectorAll(".js-cart__service-delivery");
cartSelect.addEventListener("change", ()=>{
const selectedValue = cartSelect.value;
if (selectedValue === "self-delivery") {
cartSelfDelivery.classList.remove("cart-popup__self-delivery--hidden");
cartServiceDelivery.forEach((item)=>{
item.classList.add("cart-popup__label-delivery--hidden");
});
const cartPopup = document.querySelector(".cart-popup__wrapper");
const closeBtn = document.querySelector(".js-cart__popup-close");
const cartOrderSuccess = document.querySelector(".js-cart__success-order");
const cartBreadcrumbs = document.querySelector(".js-cart__breadcrumbs");
const cartForm = document.getElementById("cart-form");
// Закрытие попапа крестом и кликом по фону
closeBtn.addEventListener("click", e => {
e.stopPropagation();
cartPopup.classList.add("cart-popup__wrapper--hidden");
});
cartPopup.addEventListener("click", e => {
if (!e.target.closest(".cart-popup")) {
cartPopup.classList.add("cart-popup__wrapper--hidden");
}
});
// Переключение способов доставки
const cartSelect = document.querySelector(".js-cart__order-select");
const cartSelfDelivery = document.querySelector(".js-cart__self-delivery");
const cartServiceDelivery= document.querySelectorAll(".js-cart__service-delivery");
cartSelect.addEventListener("change", () => {
if (cartSelect.value === "self-delivery") {
cartSelfDelivery.classList.remove("cart-popup__self-delivery--hidden");
cartServiceDelivery.forEach(i => i.classList.add("cart-popup__label-delivery--hidden"));
} else {
cartSelfDelivery.classList.add("cart-popup__self-delivery--hidden");
cartServiceDelivery.forEach(i => i.classList.remove("cart-popup__label-delivery--hidden"));
}
});
// AJAX-отправка формы
if (cartForm) {
cartForm.addEventListener("submit", function(e) {
e.preventDefault();
const form = this;
const submitBtn = form.querySelector("button[type=submit]");
submitBtn.disabled = true;
submitBtn.classList.add("is-loading");
fetch(form.action, {
method: form.method || "POST",
body: new FormData(form)
})
.then(res => res.json())
.then(data => {
if (data.success) {
cartPopup.classList.add("cart-popup__wrapper--hidden");
cartOrderSuccess.classList.add("success-order--visible");
cartBreadcrumbs?.remove();
} else {
cartSelfDelivery.classList.add("cart-popup__self-delivery--hidden");
cartServiceDelivery.forEach((item)=>{
item.classList.remove("cart-popup__label-delivery--hidden");
});
}
});
alert(data.message || "Ошибка при оформлении заказа");
}
})
.catch(() => {
alert("Не удалось связаться с сервером");
})
.finally(() => {
submitBtn.disabled = false;
submitBtn.classList.remove("is-loading");
});
});
}
});
/**

@ -363,7 +363,7 @@ document.querySelectorAll('[data-product]').forEach(function(button) {
<h2>
Оформление заказа
</h2>
<form id="cart-form" class="cart-popup__form">
<form id="cart-form" action="/local/ajax/order.php" method="POST" class="cart-popup__form">
<input type="hidden" name="fast_product" id="fast_product">
<label>
<input type="text" name="name" placeholder="" required>

Loading…
Cancel
Save