208 похожих чатов

Ребят почему может не фильтроваться через фильтр в комплексном компоненте

bitrix:news ?
Есть комплексный компонент, я хочу внутри этого компонента сделать фильтр, в самом компоненте я включил фильтр, задал переменную arrFilter, и если оставить всё так, фильтр фильтрует по моим данным которые я задал через список свойств в инфоблоке.
Но в таком случае фильтр, всегда сверху блока, и я не могу его никак перенести внутри самой страницы с новостями, если вставить фильтр в template.php то фильтр перестает фильтровать. Куда смотреть?

17 ответов

32 просмотра

в собственную логику, вставка компонента для фильтрации ПОСЛЕ того как получишь неотфильтрованный результат

для начала немного точнее объяснять задачу. где сейчас выводится фильтр и если речь про параметры комплексного компонента bitrix:news То что подразумевается под "не могу перенести внутрь страницы с новостями" ? речь про разметку (вёрстку) одной и той же страницы и положение фильтра на ней? или речь про разные страницы? при переходе с главной /news/ внутрь новости или раздела фильтр пропадает?

Камиль- Автор вопроса
Itachi Vergil
для начала немного точнее объяснять задачу. где се...

Я не уверен что у меня в целом правильная логика заложена, я только изучаю bitrix. у меня есть страница с контентом, типа новостей но не новости. Есть инфоблок с 4 разделами, 1 раздел это 1 страница на сайте. На одной из страниц, мне нужно реализовать фильтр по направлениям "Новостей", скажем так, это раздел c ID 73, внутри этого раздела есть элементы, и один раздел с ID 76 в котором другие элементы, я хочу фильтровать только на странице раздела 73, в подразделе 76. Не знаю правильно ли я изъясняюсь, стандартный фильтр в комплексном компоненте, находится сверху, но по разметке, фильтр находится посередине страницы, в моем случае по середине news.list из комплексного компонента news

Камиль
Я не уверен что у меня в целом правильная логика з...

запутанно но я постараюсь понять. вообще схема изначально сложная придумана зачем-то. умный фильтр нельзя вызывать внутри шаблона элемента который должен выводиться оп этому фильтру. если пытаешься его вставить в news.list - не надо. посмотри для примера стандартный шаблон битрикса bitrix:news и обрати внимание на файлы которые лежат там в корне типа template.php element.php и глянь как там вызывается умный фильтр. тебе нужно в этом файле у себя прописывать его вызов

Камиль- Автор вопроса
Itachi Vergil
запутанно но я постараюсь понять. вообще схема изн...

с умным я вообще не разобрался, использую самый простой catalog.filter

Камиль- Автор вопроса
Itachi Vergil
эхх, я бы код глянул.

Без проблем, я сейчас сделаю на codepen наверное и отправлю Вам, если вы не против

Камиль- Автор вопроса
Itachi Vergil
не против

Так это получается news.list template.php в Комплексном компоненте bitrix:news 1) https://codepen.io/darksidr102rus/pen/dyROORJ Это получается section.php в Комплексном компоненте bitrix:news 1) https://codepen.io/darksidr102rus/pen/YzQppxa

Камиль
Так это получается news.list template.php в Компл...

если фильтр нужен на section.php (при переходе в раздел 73) то почему там в вызове его нет а для 73 раздела наоборот есть (но закоментирован) ?

Камиль- Автор вопроса
Itachi Vergil
если фильтр нужен на section.php (при переходе в р...

Наоборот фильтр нужен на template php и тут он не работает, а когда в section php работает

Камиль
Наоборот фильтр нужен на template php и тут он не ...

тогда тебе проблему сразу сказали. по-хорошему это вёрстку переделывать надо чтобы фильтр был в нужном месте страницы. но если очень хочется то можно вот так https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=42&LESSON_ID=12589&LESSON_PATH=3912.4771.6719.12589

Камиль- Автор вопроса
Itachi Vergil
тогда тебе проблему сразу сказали. по-хорошему это...

А как переделать верстку ? Типа кидать не комплексный компонент ? Или как это вообще можно реализовать ?

Камиль
А как переделать верстку ? Типа кидать не комплекс...

нужно реализовать чтобы физически фильтр выводился перед списком но стилями или скирптами перекидывался в другую часть страницы

Камиль- Автор вопроса
Itachi Vergil
нужно реализовать чтобы физически фильтр выводился...

Да я думал сделать абсолютом, но это как то не очень правильно чтоли

Камиль
Да я думал сделать абсолютом, но это как то не оче...

правильно на js перехватывать блок и вставлять куда нужно

Камиль- Автор вопроса
Itachi Vergil
нужно реализовать чтобы физически фильтр выводился...

Плюс этот стандартный фильтр, работает странно, он фильтрует абсолютно весь контент на странице, думаю, может кинуть на эту страницу ещё и компонент каталога

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта