Лучшие практики для макетов страниц

19

Я пытаюсь выяснить, каковы лучшие практики для макетов страниц в Drupal. Многие страницы содержат несколько разных элементов, таких как основное содержимое, изображение заголовка и т. Д. Я не смотрю на создание «базовой страницы» или чего-либо подобного (то есть один узел для всей страницы).

Хорошо ли использовать панели для каждой страницы и вставлять в них блоки? Я мог бы отбросить представления, возможно, узел, контактную форму и т. Д ...

Фрэнки О'Рурк
источник
«Хорошо ли использовать панели для каждой страницы?» Панели практически не имеют дополнительной нагрузки. Иногда это даже быстрее, потому что панели могут быть кэшированы.
iStryker

Ответы:

11

Панели - это отличный модуль, но он также может быть сложным, и может потребоваться некоторое время, прежде чем вы его полностью поймете. Если вы заинтересованы в использовании панелей для каждой страницы, модуль Panels Everywhere - интересный проект.

Еще один замечательный проект, который предоставляет более гибкие макеты, это Display Suite .

Хотя люди склонны использовать Панели или DS, они не являются конкурентами. Их можно даже использовать вместе, как вы можете прочитать в блоге автора / сопровождающего DS: Использование панелей в режимах просмотра в Drupal 7 .

marcvangend
источник
5
Не забудьте про Context и Omega (Omega Tools)
2

Представления и панели - хорошая возможность, но с использованием отличного фреймворка, как 960gs !

gbwebservice
источник
0

Да, панели дают вам макеты, в которые вы можете добавлять элементы.

Panelizer - это самый простой модуль панелей, который просто добавляет панель к уже существующим узлам. (Панели узлов устарели, но этот факт широко не указывается.)

Таким образом, используйте обычную систему узлов, но «панелируйте» узлы, если или когда вам нужно.

Том Стермитц
источник
0

Если вы хотите повторно использовать макет для более чем одной страницы, тогда Display Suite с несколькими полями кажется лучшим выбором.

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


Если вы хотите последнее, но боитесь панелей (как и я), то есть еще кое-что, что вы можете попробовать. (с /drupal//a/90744/2974 )

Модули:

Как?

  • Создайте тип узла "frontpage".
  • Добавьте поле ссылки на блок с несколькими значениями с помощью виджета «Список нескольких вариантов выбора».
  • Настройте некоторые типы bean-компонентов, чтобы разрешить различные виды причудливых рамок, которые можно разместить на главной странице.
  • Используйте blockreference внутри компонента для вложенных макетов.
  • Один из типов bean-компонентов может иметь ссылку на объект с несколькими значениями, например, для ссылки на группу продуктов (и их сортировки). Я вообще предпочитаю это над nodequeue.
  • Используйте Display Suite, чтобы определить, как должен отображаться каждый компонент и сама главная страница.
  • Use Display suite custom field templates to have decorated boxes around each bean/block in the blockreference, or each product, etc. Check hook_ds_field_theme_functions_info(). This stuff is powerful and awesome!
  • Скажите клиенту / редактору контента использовать контекстные ссылки для редактирования отдельных bean-компонентов.
  • Кроме того, вы можете иметь блоки Views, которые будут использоваться в ссылке на блок.
  • Встроенная форма сущности может быть полезной, но я на самом деле не пробовал ее в этой комбинации. Это домашнее задание :)

Стратегия заключается в том, что все, что является уникальным для одной страницы, должно быть блоком (или экземпляром компонента). Мы можем себе это позволить, потому что эти блоки не загрязняют тематические регионы.

Это должно дать вам некоторый материал для игры.
Более подробные вопросы следует обсудить в специальных вопросах по обмену стеками, поскольку они довольно широки.

Дон Кихот
источник