Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/68: Рейтинг темы: голосов - 68, средняя оценка - 4.56
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
1

Не работает умный фильтр Битрикс

31.03.2016, 12:40. Показов 12965. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый подскажите, как можно решить данную проблемку, подключил с начала комплексный компонент каталог, потом умный фильтр. Зашёл в настройки инфоблока и поставил галочки показывать в умном фильтре, вид в умном фильтре, показывать развёрнутым и всё это напротив свойств цена и бренды. После чего появился фильтр с параметрами цена и бренды, но если нажать на кнопку показать ничего не выдаёт?
Код умного фильтра
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 <?$APPLICATION->IncludeComponent(
"bitrix:catalog.smart.filter",
".default",
Array(
    "CACHE_GROUPS" => "Y",
    "CACHE_TIME" => "36000000",
    "CACHE_TYPE" => "A",
    "COMPONENT_TEMPLATE" => ".default",
    "DISPLAY_ELEMENT_COUNT" => "Y",
    "FILTER_NAME" => "arrFilter",
    "FILTER_VIEW_MODE" => "vertical",
    "IBLOCK_ID" => "1",
    "IBLOCK_TYPE" => "Catalog",
    "INSTANT_RELOAD" => "N",
    "PAGER_PARAMS_NAME" => "arrPager",
    "POPUP_POSITION" => "left",
    "SAVE_IN_SESSION" => "N",
    "SECTION_CODE" => "",
    "SECTION_DESCRIPTION" => "-",
    "SECTION_ID" => $_REQUEST["SECTION_ID"],
    "SECTION_TITLE" => "-",
    "SEF_MODE" => "N",
    "TEMPLATE_THEME" => "blue",
    "XML_EXPORT" => "N"
)
);?>
Код каталога
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
  <?$APPLICATION->IncludeComponent(
"bitrix:catalog",
"Catalog",
Array(
    "ACTION_VARIABLE" => "action",
    "ADD_ELEMENT_CHAIN" => "N",
    "ADD_PICT_PROP" => "-",
    "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",
    "COMPONENT_TEMPLATE" => "Catalog",
    "DETAIL_ADD_DETAIL_TO_SLIDER" => "N",
    "DETAIL_BACKGROUND_IMAGE" => "-",
    "DETAIL_BRAND_USE" => "N",
    "DETAIL_BROWSER_TITLE" => "-",
    "DETAIL_CHECK_SECTION_ID_VARIABLE" => "N",
    "DETAIL_DETAIL_PICTURE_MODE" => "IMG",
    "DETAIL_DISPLAY_NAME" => "Y",
    "DETAIL_DISPLAY_PREVIEW_TEXT_MODE" => "E",
    "DETAIL_META_DESCRIPTION" => "-",
    "DETAIL_META_KEYWORDS" => "-",
    "DETAIL_PROPERTY_CODE" => array(0=>"",1=>"",),
    "DETAIL_SET_CANONICAL_URL" => "N",
    "DETAIL_USE_COMMENTS" => "N",
    "DETAIL_USE_VOTE_RATING" => "Y",
    "DETAIL_VOTE_DISPLAY_AS_RATING" => "rating",
    "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_VIEW_MODE" => "VERTICAL",
    "IBLOCK_ID" => "1",
    "IBLOCK_TYPE" => "Catalog",
    "INCLUDE_SUBSECTIONS" => "N",
    "LABEL_PROP" => "-",
    "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" => "-",
    "LIST_PROPERTY_CODE" => array(0=>"",1=>"",),
    "MESSAGE_404" => "",
    "MESS_BTN_ADD_TO_BASKET" => "В корзину",
    "MESS_BTN_BUY" => "Купить",
    "MESS_BTN_COMPARE" => "Сравнение",
    "MESS_BTN_DETAIL" => "Подробнее",
    "MESS_NOT_AVAILABLE" => "Нет в наличии",
    "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(0=>"ATTR_PRICE",),
    "PRICE_VAT_INCLUDE" => "Y",
    "PRICE_VAT_SHOW_VALUE" => "N",
    "PRODUCT_ID_VARIABLE" => "id",
    "PRODUCT_PROPERTIES" => array(),
    "PRODUCT_PROPS_VARIABLE" => "prop",
    "PRODUCT_QUANTITY_VARIABLE" => "",
    "SECTIONS_HIDE_SECTION_NAME" => "N",
    "SECTIONS_SHOW_PARENT_NAME" => "Y",
    "SECTIONS_VIEW_MODE" => "TILE",
    "SECTION_BACKGROUND_IMAGE" => "-",
    "SECTION_COUNT_ELEMENTS" => "N",
    "SECTION_ID_VARIABLE" => "SECTION_ID",
    "SECTION_TOP_DEPTH" => "2",
    "SEF_FOLDER" => "/catalog/",
    "SEF_MODE" => "Y",
    "SEF_URL_TEMPLATES" => array("sections"=>"","section"=>"#SECTION_CODE_PATH#/","element"=>"#SECTION_CODE_PATH#/#ELEMENT_ID#/","compare"=>"compare.php?action=#ACTION_CODE#","smart_filter"=>"#SECTION_ID#/filter/#SMART_FILTER_PATH#/apply/",),
    "SET_LAST_MODIFIED" => "N",
    "SET_STATUS_404" => "N",
    "SET_TITLE" => "Y",
    "SHOW_404" => "N",
    "SHOW_DEACTIVATED" => "N",
    "SHOW_PRICE_COUNT" => "1",
    "SHOW_TOP_ELEMENTS" => "N",
    "SIDEBAR_DETAIL_SHOW" => "Y",
    "SIDEBAR_PATH" => "",
    "SIDEBAR_SECTION_SHOW" => "Y",
    "TEMPLATE_THEME" => "blue",
    "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_LINE_ELEMENT_COUNT" => "3",
    "TOP_PROPERTY_CODE" => array(0=>"",1=>"",),
    "TOP_VIEW_MODE" => "SECTION",
    "USE_COMPARE" => "N",
    "USE_ELEMENT_COUNTER" => "Y",
    "USE_FILTER" => "N",
    "USE_MAIN_ELEMENT_SECTION" => "N",
    "USE_PRICE_COUNT" => "N",
    "USE_PRODUCT_QUANTITY" => "N",
    "USE_STORE" => "N",
    "VARIABLE_ALIASES" => array("compare"=>array("ACTION_CODE"=>"action",),)
)
);?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2016, 12:40
Ответы с готовыми решениями:

Умный фильтр
Доброго времени суток! Необходимо настроить умный фильтр таким образом, чтобы если по выбранным...

Умный фильтр
Добрый день. На сайте размещён каталог продукции, разбитый на категории. При открытии полного...

Умный фильтр
Доброго времени суток! Необходимо вывести/настроить умный фильтр. Данный фильтр выведен/настроен,...

Умный фильтр
Добрый вечер, вопрос такой, есть магазин в котором 2 вида цен: Розничная цена и Цена в магазине,...

7
0 / 0 / 1
Регистрация: 22.09.2012
Сообщений: 28
01.04.2016, 07:20 2
Если комплексный компонент каталог подключен, то не нужно отдельно подключать умный фильтр. Вызов умного фильтра можно увидеть в папке шаблона catalog, файл section.php. Также умный фильтр настраивается в настройках компонента каталог.
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
01.04.2016, 09:15  [ТС] 3
А как тогда определить в каком месте выводить этот самый фильтр(находящийся внутри комплексного компонента) и как создать для него стили, ведь для него нет возможности копировать шаблон компонента?
0
2304 / 1225 / 246
Регистрация: 16.03.2008
Сообщений: 5,838
Записей в блоге: 2
01.04.2016, 09:28 4
Вы копируете шабон комплексного компонента catalog внутри шаблона есть и шаблон фильтра.
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
01.04.2016, 09:37  [ТС] 5
/bitrix/templates/шаблон/components/bitrix/catalog/Catalog/section.php в этом файле содержится условие вывода фильтра
PHP
1
2
3
4
5
6
7
if (!isset($arParams['FILTER_VIEW_MODE']) || (string)$arParams['FILTER_VIEW_MODE'] == '')
    $arParams['FILTER_VIEW_MODE'] = 'VERTICAL';
$arParams['USE_FILTER'] = (isset($arParams['USE_FILTER']) && $arParams['USE_FILTER'] == 'Y' ? 'Y' : 'N');
 
$isVerticalFilter = ('Y' == $arParams['USE_FILTER'] && $arParams["FILTER_VIEW_MODE"] == "VERTICAL");
$isSidebar = ($arParams["SIDEBAR_SECTION_SHOW"] == "Y" && isset($arParams["SIDEBAR_PATH"]) && !empty($arParams["SIDEBAR_PATH"]));
$isFilter = ($arParams['USE_FILTER'] == 'Y');
Но ели эту часть скопировать в другой файл, где я хочу его выводит, то ничего не будет работать
0
2304 / 1225 / 246
Регистрация: 16.03.2008
Сообщений: 5,838
Записей в блоге: 2
01.04.2016, 09:48 6
так в этом куске кода совсем нет подключения фильтра
0
79 / 79 / 8
Регистрация: 28.03.2010
Сообщений: 306
01.04.2016, 10:08  [ТС] 7
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?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 */
use Bitrix\Main\Loader;
use Bitrix\Main\ModuleManager;
 
$this->setFrameMode(true);
$this->addExternalCss("/bitrix/css/main/bootstrap.css");
 
if (!isset($arParams['FILTER_VIEW_MODE']) || (string)$arParams['FILTER_VIEW_MODE'] == '')
    $arParams['FILTER_VIEW_MODE'] = 'VERTICAL';
$arParams['USE_FILTER'] = (isset($arParams['USE_FILTER']) && $arParams['USE_FILTER'] == 'Y' ? 'Y' : 'N');
 
$isVerticalFilter = ('Y' == $arParams['USE_FILTER'] && $arParams["FILTER_VIEW_MODE"] == "VERTICAL");
$isSidebar = ($arParams["SIDEBAR_SECTION_SHOW"] == "Y" && isset($arParams["SIDEBAR_PATH"]) && !empty($arParams["SIDEBAR_PATH"]));
$isFilter = ($arParams['USE_FILTER'] == 'Y');
 
if ($isFilter)
{
    $arFilter = array(
        "IBLOCK_ID" => $arParams["IBLOCK_ID"],
        "ACTIVE" => "Y",
        "GLOBAL_ACTIVE" => "Y",
    );
    if (0 < intval($arResult["VARIABLES"]["SECTION_ID"]))
    {
        $arFilter["ID"] = $arResult["VARIABLES"]["SECTION_ID"];
    }
    elseif ('' != $arResult["VARIABLES"]["SECTION_CODE"])
    {
        $arFilter["=CODE"] = $arResult["VARIABLES"]["SECTION_CODE"];
    }
 
    $obCache = new CPHPCache();
    if ($obCache->InitCache(36000, serialize($arFilter), "/iblock/catalog"))
    {
        $arCurSection = $obCache->GetVars();
    }
    elseif ($obCache->StartDataCache())
    {
        $arCurSection = array();
        if (Loader::includeModule("iblock"))
        {
            $dbRes = CIBlockSection::GetList(array(), $arFilter, false, array("ID"));
 
            if(defined("BX_COMP_MANAGED_CACHE"))
            {
                global $CACHE_MANAGER;
                $CACHE_MANAGER->StartTagCache("/iblock/catalog");
 
                if ($arCurSection = $dbRes->Fetch())
                {
                    $CACHE_MANAGER->RegisterTag("iblock_id_".$arParams["IBLOCK_ID"]);
                }
                $CACHE_MANAGER->EndTagCache();
            }
            else
            {
                if(!$arCurSection = $dbRes->Fetch())
                    $arCurSection = array();
            }
        }
        $obCache->EndDataCache($arCurSection);
    }
    if (!isset($arCurSection))
    {
        $arCurSection = array();
    }
}
?>
<div class="row">
<?
if ($isVerticalFilter)
    include($_SERVER["DOCUMENT_ROOT"]."/".$this->GetFolder()."/section_vertical.php");
else
    include($_SERVER["DOCUMENT_ROOT"]."/".$this->GetFolder()."/section_horizontal.php");
?>
</div>
Ну здесь точно должен быть фильтр или я ошибаюсь?

Добавлено через 18 минут
Подскажите, как быть......
0
2304 / 1225 / 246
Регистрация: 16.03.2008
Сообщений: 5,838
Записей в блоге: 2
01.04.2016, 10:27 8
По хорошему учиться и учиться

Тут надо смотреть. А так как на кофейной гуще гадать...
0
01.04.2016, 10:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2016, 10:27
Помогаю со студенческими работами здесь

Умный фильтр с поиском
Добрый день! Подскажите пожалуйста, как реализовать стандартными средствами 1С-Bitrix фильтр с...

Умный фильтр не фильтрует
Добрый день. Есть сайтик, на нем поставили стандартный умный фильтр, отображаются и загружает все...

Умный фильтр. Разделение параметров
Всем привет. Подскажите, стандартными способами свойства в умном фильтре можно разделить на 2...

Добавить умный фильтр в раздел бренды
Добрый день. Подскажите, пожалуйста, как добавить умный фильтр в раздел Бренды...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru