Как правильно создать лендинг

Главные вкладки

Аватар пользователя Carcade Carcade 27 июля 2018 в 18:31

Приветствую всех!
Раньше плотно работал с Drupal 7, недавно появилась задача сделать лендинг, решил сделать на 8 версии, и как раз изучить её на реальном проекте.
Сразу уточню что это не лендинг в чистом виде, а только главная (основная) страница сайта выполнена в виде landing page, так же есть отдельные страницы для новостей и т.п., так что вариант с одним статическим html файлом не подойдет.

Отметил некоторые требования которые хотелось бы видеть:

  1. Простота редактирования (в дальнейшем сайт будет редактировать человек далекий от разработки сайтов, и поменять текст/картинку не должно составлять труда и должно быть интуитивно понятно, как плохой пример - Panels в 7 друпале, где чтобы отредактировать содержимое нужно было прокликать 4-5 ссылок + слишком много других настроек - слишком 2) громоздко)
  2. Подстроиться под готовый шаблон (уже есть готовый HTML шаблон с версткой и JS библиотеками, нужно интегрировать его с минимальными изменениями)

В ходе поиска информации нашел 2 более-менее вменяемых подхода:

  1. Page Manager + Panels
  2. Новый тип материала + Paragraphs

Сначала попробовал первый вариант, но здесь уже есть два минуса:

  1. Panels все таки громоздкий модуль, и для редактирования неопытным пользователем в дальнейшем думаю не очень приемлимо
  2. На текущей версии баг с раскрытием JS меню "Variants", рано или поздно исправят, но пока не работает.

Попробовал пойти по второму пути:

  • Создал новый тип материала "Лендинг"
  • Добавил поля типа "Paragraph"
  • Начал переопределять шаблоны чтобы убрать div обертки, которые добавляет Drupal

В общем на самом начальном этапе, когда только начал встраивать шаблон лендинга, и оформлял только шапку + слайдер уже пришлось переопределить 5(!) шаблонов только чтобы убрать обертки друпала.

Насколько вообще правильный данный подход? (Возникают сомнения что делаю правильно и что это может быть трудозатратно, когда нужно встроить в CMS одну страничку с лендингом нужно переопределить 10+ шаблонов)
Хотелось бы услышать ваше мнение на этот счет и советы по созданию лендингов на 8ой версии.
Существуют ли какие нибудь еще подходы менее трудозатратные и более правильные для решения данной проблемы?

P.S. Также столкнулся с проблемой, в шаблоне в слайдере изображение вставляется в атрибут style="background: url('...');"
В поле изображение в слайдере выбрал вид отображения "URL к изображению", НО в код эту ссылку друпал вставляет с отступами, и получается:

<div style="background: url('
http://foo.bar/image.png
');" ></div>

Chrome такое не принимает, и фоновая картинка не показывается, в инструментах разработчика убираю отступы вручную - все работает. Попытался убрать отступы Twig фильтром trim, тогда в этом месте вообще ничего не выводится, как это решить?

Файл: paragraph--landing-page-slider-slide.html.twig
<div class="swiper-slide overlay" style="background: url('{{ content.field_image|trim }}'); background-size: cover;">

Комментарии

Аватар пользователя Carcade Carcade 28 июля 2018 в 11:21

fairrandir wrote:

Про атрибут: https://twig.symfony.com/doc/2.x/templates.html#whitespace-control
Благодарю!


Владимир Ситников wrote:

Как вариант, попробуйте https://www.sooperthemes.com/drupal-modules/glazed-builder есть для семерки и восьмерки. Готовая верстка интегрируется легко, просто добавляешь чуть чуть css


Решение классное, спасибо за ссылку, но в бюджет не вписывается) Надо что то более доступное или открытое.