Несколько блоков в одном блоке
На странице есть несколько блоков вьюх (каждый под свой тип материала), которые разворачиваются с помощью модуля collapsiblock . Сами вьюхи - это карусельки слайдеры. Хочу эти блоки собрать в единый блок со своим одним заголовком. Как возможно реализовать?
Постараюсь объяснить задачу. На странице должно быть несколько каруселей изображений (например, использую swiper formatter + photoswipe), которые разворачиваются или сворачиваются по клику на заголовок (использую collapsiblock). Нажимаешь на "Кошки" - развернулся слайдер с кошками, нажал на "Собаки" - развернулся слайдер с фотками собак.
Сделал типы материала (кошки, собаки, хомяки...) с полем изображения. По каждому типу материала создал по блоку views (с выводом через swiper formatter + photoswipe). Теперь стоит задача как всё это дело завернуть под общий заголовок "Домашние животные".
Как по уму посоветуете это замутить. И насколько будет правильным решение запихать все эти блоки в один блок (как писал выше)? Насколько помню для семёрки был модуль, который умел выводить ноды как блоки.
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Вьюзы поддерживают аттачменты, т.е. к одной вьюшке можно прицепить еще сколько нужно. Таким образом можно вывести одну вьюшку с многочисленными аттачментами в одном блоке. Дальше уже с помощью css и js все приводится к нужному виду.
Также вьюзы поддерживают контент во вкладках, возможно такое тоже будет полезно.
Но если волнует скорость загрузки страниц (картинок в слайдерах много, они достаточно большие), то наверное лучшим выбором будет самостоятельно запрограммировать блок и нужный слайдер грузить аяксом.
кстати, попробую Paragraphs потыкать. Как раз ни разу с ним не работал
или layout builder
Можно кстати через Layout builder. Включаешь модуль block_content, если он не включен. Создаёшь тип блока, удаляешь из него все поля. В настройках отображения ставишь галочку использовать Layout builder, и вторую галочку, что у каждого блока может быть свой лэйаут. Ну и всё. Далее создаёшь блок, переходишь на вкладку layout и добавляешь блоки в блок.
И при этом не нужно ни одной строчки кода и ни одного контрибного модуля.
отлично! читал вашу статью об этом модуле. Как раз нашелся повод его заценить. Благодарю
получилось, но так же как и с модулем block group у этих модулей в layout не работает collapsiblock.
А цель стояла такая, чтобы эти блоки умели разворачиваться по клику
Такие вещи проще сделать парой строчкой js кода в теме оформления. И проще будет и работать будет везде где надо.
Тем более, что он по ходу вообще ни с какими решениями не работает))
Как по уму - не знаю. Layout builder или Paragraphs или Panels или еще что позабористее. Если вам удобно, значит это по уму - пользуйтесь.
Несколько блоков объединить - blockgroup. Конфликтует с фасетами - отказался от него.
"Насколько помню для семёрки был модуль, который умел выводить ноды как блоки" - block_node
blockgroup - то, что нужно. Однако с ним у блоков в группе не работает collapsiblock
Коллапсы стоит ручками научится делать.
https://www.rapiddg.com/article/how-build-accessible-accordion-drupal - я правда не понимаю о чем там.
https://www.youtube.com/watch?v=8YhfAq57qdE&t=18s - тут для 7ки, но принцип тот же. Хотя синтаксис чучуть другой.