当前位置: 首页>>网站问题>>正文


页面管理器和面板之间有什么区别?

webfans 网站问题 , , 去评论

问题描述

我正在写这个问题,因为我看到Drupal社区对“什么是页面管理器”和“什么是Panels”感到困惑。

最佳解决方案

Ctools

Ctools中,有一个名为”Page manager”的sub-module。该模块的核心是hook_menu的图形用户界面。它允许您在系统中创建新路径,或接管Core提供的一些路径。

页面管理员

一旦Page manager为您管理路径,它就可以用它做几件不同的事情。开箱即用,它可以为您提供重定向。一个常见的用例是拒绝访问缺少正确主题的节点,因为它们不能单独查看,例如”Fact boxes”或”Image nodes”。另一种方法是从术语视图重定向到同一术语的Solr搜索。

页面管理器的主要好处之一是它引入了一种处理”Context”的方法,不要与模块Context混淆。这里的踢球者是Panes,它是“稍微聪明的块”,可以向系统声明它们的依赖关系,并且它们具有在dependency injection -style中传递的实际参数(称为Contexts)。

对于那些不熟悉DI,但熟悉Drupal的人来说,这可以让你永远不需要再次使用menu_get_object来获取“从菜单路径中引用的唯一节点”。如果路径中有多个节点怎么办?或者,如果您确实希望将块基于实体引用的节点?这将成为带有页面管理器的non-issue,使所有块(窗格)更加灵活,并使re-usable更加灵活。

面板

然而,最常见的用例是将布局和路径渲染移交给Panels。面板提供了用于在代码中或直接在浏览器中定义布局的工具,并允许您直接在浏览器中放置内容。

结论

这两个模块都非常强大,文档相对较差,这导致很多人对它们感到沮丧。但是,如果要构建一个更大的站点,了解如何使用它们是值得的,特别是因为他们处理”pages”以及布局的方法看起来像是进入Drupal 8核心,由EclipseGCSCOTCH initiative提供。相关的sandbox project

进一步阅读

使用这些工具可以做的其他有趣事情的示例:

  1. 如果将Context用作切片工具,则面板可以与其配合使用并用作布局工具。

  2. 面板可以与Display suite交互,为其提供一个不错的drag-and-drop UI。

  3. 页面管理器和Contextual Administration可以帮助构建”Context”敏感菜单以及网站管理员/编辑的其他有用的东西。

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/2687.html,转载请务必附带本地址声明。