Возможность разместить фильтр вне чанка {$filters}

Добрый день всем.
Дизайнер придумал выводить в сайдбаре фильтр по категориям и подкатегориям, а фильтр по цветам в соседней колонке. По картинке все станет понятно) В общем то чанк filters я разместил в сайдбаре, а выводятся фильтры только в нем, как я понимаю. Возможно ли разместить фильтр вне чанка filters и чтобы он работал?

Олег
16 февраля 2022, 17:48
modx.pro
199
0

Комментарии: 10

Евгений Webinmd
16 февраля 2022, 18:45
+1
передавайте привет дизайнеру. А вообще можно через jquery клонировать нужный блок и вставить куда вам надо, но все равно придется дописывать js фильтра
    Олег
    16 февраля 2022, 18:50
    0
    да, уже передал)
    Артур
    16 февраля 2022, 20:42
    0
    Наверное, я поздновато, но возможно параметр &toSeparatePlaceholders помог бы.
      Олег
      17 февраля 2022, 13:35
      0
      Спасибо за подсказку, надо будет попробовать.
        Дима Сайт
        22 февраля 2022, 20:43
        0
        Ну как, получилось? Не у вас одного дизайнер с приветом :))) (на самом деле мне даже нравится такой интерфейс так что лучше бы так сделать а не по-другому рисовать)
          Олег
          23 февраля 2022, 11:16
          0
          К сожалению, нет. Не нашел информации, да и опыта не хватает самому разобраться. Сделал топорно, как у конкурента, у которого дизайнер взял эту идею. Да, когда ищешь инфу по js найти можно практически что угодно)
            Дима Сайт
            23 февраля 2022, 16:37
            0
            Намёк понял, придётся парировать: Тогда вдвойне странно, т.к. у вас вопрос по js на самом деле, если не по верстке, но точно не по modx (ведь от бекенда не зависит как у вас отображается фильтр)

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

            P.S. У меня похожий макет на предпроектной стадии, если дойдет до заказа (и не забуду :) ), то смогу продемонстрировать на примере…
              Олег
              23 февраля 2022, 18:46
              0
              Возможно разместить правый и левый фильтры в одном блоке если один из них спозиционировать абсолютно(потому что здесь же необходимо разместить блок вывода результатов). А если делать так, то это приведет к большим проблемам с адаптивом(резиновым) и в случае увеличения или изменения количества контента в этих блоках. Каким образом можно помочь ситуации с помощью js — не понял совсем. Если поделитесь буду премного благодарен.
                Дима Сайт
                23 февраля 2022, 19:25
                0
                Каким образом можно помочь ситуации с помощью js — не понял совсем
                Ну как же: понятно же, как работают стандартные фильтры? Мы можем это повторить сами?

                Они на JS, по событиям onclick или onchange полей ввода запускают отправку формы (или собирают поля формы и отправляют массив их значений, точнее надо в коде смотреть) на бекенд, получают результат и заменяют им контент на странице (блок результатов и не только — ещё счетчики и состояния других фильтров). Вы можете сами, на любых своих элементах находящихся где угодно на странице, выполнять те же действия, что написаны в стандартном JS-файле.

                Конечно, это сложный путь, но зато он лежит в плоскости кода, а не верстки. Те трогая жестко код, по лайту, проще ИМХО решать задачу размещения блоков (абсолюты с кучей media query, flex-ы или вообще masonry либо какой-то свой костылёчек на JS — это уже вкус и предпочтения верстальщика (простите, фронтэндера))
                  Олег
                  24 февраля 2022, 00:39
                  0
                  Ну, с профориентацией вы не ошиблись, мне действительно ближе верстка, чем вот это всё. Пытаюсь развиваться по мере возможности, ну и по долгу службы) с вашей помощью получил немного информации, за что приношу благодарность. Надеюсь найду многое в документации.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      10