面板还是上下文模块?


9

我能否请教一下两者之间的区别?

我正在建立一个使用“上下文”非常重要的网站。看完有关NodeOne的Page Manager的视频系列之后,我觉得Panels的“上下文”及其将参数安全地传递给Views的能力非常重要。但是,上下文模块具有一个执行类似类型功能的插件,称为“ 从上下文模块查看默认参数”


@alex我认为答案不能满足这个问题。经过一些调查,在我看来Ctools上下文具有一些非常有用的功能,例如在Page Manager中加载对象,这些对象被传递回实现Ctools插件的模块。这极大地增强了例如使对象根据上下文构建令牌的能力。我认为对于复杂的应用程序网站,此上下文可能非常有用。看到
亚当S

足够公平,也许赏金会开始这个:)
亚历克斯·韦伯

在看了更多之后,我认为最大的区别是Development Seed从Drupal开发中走了出来,将他们在Drupal中所做的一切都带到了Phase2,包括维护Context,Features和Spaces模块,这意味着它们可能不会进一步开发。这点。尽管Ctools中上下文背后的基本思想为Drupal 8核心的所有当前开发奠定了基础。
亚当S

Lullabot Slideshare涵盖了块vs面板vs上下文:slideshare.net/davexoxide/drupal-blocks-vs-context-vs-panels
chrisjlee

Answers:


8

在大多数情况下,我更喜欢上下文模块。我发现它比掌管整个页面的面板更简单,更省力。对于Panels,一个很好的用例是网站管理员自己重新排列目标网页或具有许多独特布局的网站时。
在评估线框或设计时,我会在给定站点的面板和上下文之间进行选择。在某些情况下,同时使用两者是有意义的。

通常,我通常可以在Views自身中处理所需的Views参数(通常通过设置默认参数),并且不需要Panels一方来完成。


8
本文很好地解释了这些差异:lullabot.com/articles/assembling-pages-with-drupal
Jody

我认为不同之处在于Context模块支持一种构建以API代码为中心的Drupal体系结构的方法,而Panels以数据库为中心的方法。如果有人在此页面上构建了这样的问题内容类型,且答案中包含这样的注释,则答案也必须是实体。这需要很多部分相互了解。答案必须知道什么问题,问题必须知道作者的用户对象,答案必须知道其各自作者的用户对象,而相关的块必须知道分类法。
亚当S

4

我的想法

增量模块配对,实际上并不需要面板。

面板的用户界面过大(imho)。

我已经概述了优缺点;许多想法都来自lullabot slideshare。我也在那里添加了自己的想法:

同时使用面板和上下文的案例

  • 可出口
  • 然后更快地创建单独的布局
  • 粒度更大
  • 不再依赖Drupal的核心模块系统

面板

优点

  • 拖放界面
  • 比方块更强大
  • 内置缓存机制
  • (如您所说)从视图传递参数
  • 集成了以下视图的修改效果良好的输出:视图,块,节点,菜单模块
  • 提供易于创建不同布局的界面

缺点

  • 轻微的学习曲线
  • 面板输出产生的多余标记
  • 创建布局的大量开销。

语境

优点

  • Delta模块允许根据任何反应修改任何主题并触发不同的布局
  • 灵活地加入多个复杂上下文(负URL匹配)
  • 最终将与规则整合

缺点

  • 不适合客户端友好/低级用户界面;需要开发人员知识

资源:


0

我认为Context能够即时更改主题布局的功能肯定会覆盖使用Panels自定义布局的任何首选项。我发现它在基于网格的主题(例如Fusion)中特别有用,您可以在不更改复杂CSS的情况下更改固定宽度的列。


1
您如何将融合与上下文结合使用?我在Omega中使用上下文,但是在这个项目中我正在使用融合。
亚当S
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.