Панели или контекстный модуль?

9

Могу ли я получить некоторую информацию о различиях между ними?

Я создаю веб-сайт, где использование «контекста» очень важно. После просмотра этой серии видеороликов о Page Manager от NodeOne я чувствую, что «контекст» Panels и его способность безопасно передавать аргументы в Views очень важны. Тем не менее, модуль Context имеет плагин, который выполняет функцию аналогичного типа, которая называется View Default Argument From Context .

Адам С
источник
@alex Я не думаю, что ответ удовлетворит вопрос. После некоторого исследования мне кажется, что в контексте Ctools есть несколько очень полезных вещей, таких как загрузка объектов в Page Manager, которые передаются обратно в модули, которые реализуют плагин Ctools. Это значительно расширяет возможности, например, получать объекты для создания токенов на основе контекста. Я думаю, что для сложных веб-сайтов приложений этот контекст может быть очень полезным. смотри
Адам С
Справедливо, может быть, щедрость ускорит это :)
Алекс Вебер
Посмотрев на это немного больше, я думаю, что большая разница заключается в том, что Development Seed отходит от разработки Drupal, предоставляя все, что они сделали в Drupal, для Phase2, включая поддержку модулей Context, Features и Spaces, что означает, что они, вероятно, не получат дальнейшего развития в эта точка. В то время как фундаментальная идея, стоящая за контекстом в Ctools, определяет основу для всей текущей разработки ядра Drupal 8.
Адам С
Lullabot slideshare покрывает блоки против панелей против контекста: slideshare.net/davexoxide/drupal-blocks-vs-context-vs-panels
chrisjlee

Ответы:

8

Я предпочитаю модуль Context в большинстве случаев. Я считаю это проще и менее жестким, чем Панели, который занимает целые страницы. Хорошим вариантом использования панелей является случай , когда администраторы сайта будут перестраивать целевые страницы сами или для сайтов с множеством уникальных макетов.
Я выбираю между панелями и контекстом для данного сайта при оценке каркасов или дизайнов. В некоторых случаях имеет смысл использовать оба.

Я обычно могу обрабатывать аргументы Views, которые мне нужны, в самих Views (часто путем установки аргумента по умолчанию), и мне не нужна сторона Panels для этого.

Джоди
источник
8
Эта статья хорошо объясняет различия: lullabot.com/articles/assembly-pages-with-drupal
Джоди,
Я думаю, что разница в том, что модуль Context поддерживает подход к построению архитектуры Drupal, который ориентирован на код API, а Panels - на базу данных. Если бы кто-то создал тип контента вопроса, как на этой странице, с ответами, у которых есть комментарии, подобные этим, ответы также должны быть сущностями. Это требует, чтобы много частей знали друг о друге. Ответы должны знать, какой вопрос, вопрос должен знать пользовательский объект автора, ответы должны быть осведомлены о пользовательских объектах их соответствующих авторов, а соответствующий блок должен знать о таксономии.
Адам С
4

Мое мнение

В сочетании с дельта-модулем нет необходимости в панелях.

Пользовательский интерфейс для панелей слишком раздут (imho).

Я обрисовал в общих чертах за и против; Многие идеи взяты из слайд-шоу колыбельной . Я также добавил свои собственные идеи:

Кейс для использования обеих панелей и контекста

  • экспортируемый
  • Быстрее создавать отдельные макеты
  • Больше детализации
  • Больше нет зависимостей от базовой системы Drupal

Панели

Pros

  • Перетащите интерфейс
  • Более мощный, чем блоки
  • Встроенный механизм кэширования
  • (Как вы сказали) передавая аргументы от взглядов
  • Интегрирует хорошо модифицируемый вывод из: видов, блоков, узлов, модуля меню
  • Предоставляет интерфейс для создания различных макетов легко

Cons

  • Небольшая кривая обучения
  • Посторонняя разметка производится при выводе панелей
  • Много накладных расходов при создании макета.

контекст

Pros

  • Модуль Delta позволяет изменять любую тему в зависимости от реакции и запускать различные макеты.
  • Гибкость объединения нескольких сложных контекстов (отрицательное соответствие URL)
  • В конце концов будет интегрирован с правилами

Cons

  • Не идеально подходит для дружественного к клиенту / низкого уровня пользовательского интерфейса; требует знаний разработчика

Ресурсы:

chrisjlee
источник
0

Я думаю, что способность «Контекст» изменять макеты темы «на лету», безусловно, перекрывает любые предпочтения использования пользовательских макетов Panels. Я нахожу это исключительно полезным для тем на основе сетки, таких как Fusion, где вы можете изменять столбцы фиксированной ширины без сложных изменений CSS.

юлианский
источник
1
Как вы используете слияние с контекстом? Я использую контекст с Omega, но в этом проекте я использую Fusion.
Адам С