agoradesign/horizontal_tabs

为Drupal 8定义了一个horizontal_tabs渲染元素。

安装量: 31,665

依赖项: 0

建议者: 0

安全性: 0

星标: 5

关注者: 2

分支: 6

开放性问题: 1

语言:JavaScript

类型:Drupal模块

1.0.0-beta2 2017-08-11 11:06 UTC

This package is not auto-updated.

Last update: 2024-09-20 21:22:17 UTC


README

Drupal 8模块,添加“horizontal_tabs”表单元素,类似于已包含在核心中的“vertical_tabs”元素。

核心中的“vertical_tabs”表单元素是Drupal 8 Form API的一个很好的补充,它允许您通过编写最少的代码轻松地将垂直标签添加到任何表单。不幸的是,没有对应的水平标签表单元素。

我在drupal.org的问题队列中只找到一个问题,这个问题的讨论并不频繁:[https://www.drupal.org/node/1168364](https://www.drupal.org/node/1168364)。

此模块旨在填补这一空白。它基本上是核心中vertical tab表单元素的直接复制(当然,所有名称都改为horizontal),并调整了CSS以水平显示标签而不是垂直显示。这使得它和vertical_tabs元素一样容易使用,意味着您只需将表单元素的类型从form 'vertical_tabs'更改为'horizontal_tabs',就可以轻松地将任何vertical tabs的使用更改为horizontal tabs。

重要注意事项

请注意,[field_group模块](https://www.drupal.org/project/field_group)已经提供了水平标签。

所以,为什么我要开始这个项目而不是直接使用那个模块呢?答案是:我尝试了,但失败了。

Field group模块很棒,只要您想将其用于实体表单,并通过Field UI定义和配置字段组。一旦您想在除实体表单之外的任何其他表单中使用它们的水平标签,事情就会变得复杂(这似乎甚至不可能做到),因为它似乎与实体表单紧密耦合(例如,它依赖于在创建主题钩子建议时定义实体类型和捆绑)。

即使您想以编程方式在实体表单中使用它,也会变得更加复杂。您需要在表单中定义更多内容。当我尝试完成这项工作时,我发现自己越来越深入到field_group.module内部发生的形式处理中,试图重建必要的部分。当我看到我添加到表单元素中的额外内容在field group的另一个处理步骤中被删除时,我决定为我的问题构建一个轻量级的解决方案,该解决方案基于核心的vertical tabs。我花了大约半小时就完成了这个任务,而之前我试图修复field_group方法花费了几个小时。

兼容性、状态和下一步计划

虽然我还没有尝试过,但从理论上讲,您不能在同一网站上安装此模块和field_group模块,因为这两个模块都在定义一个名为'horizontal_tabs'的表单元素。不能有两个具有相同ID的不同表单元素。

现在您可能会问,我为什么不分配其他名称。我这样做有几个很好的原因

  • 'horizontal_tabs'是唯一合理的名称,特别是为了强调它与核心的'vertical_tabs'的密切关系。
  • 如果核心想要添加这样的元素,它将具有确切的这个ID。在这种情况下,field_group将不得不将其重命名或重构以构建在其之上。此外,我的模块将在那时被弃用,因为此功能将直接合并到核心中。
  • 我希望/试图联系 field_group 维护者,并倡导他们重构表单元素,使其能够以与该模块完全相同的方式进行使用。这样我就可以随后将其弃用。

状态

该模块基本上已经稳定,可使用,并且已基本处于最终状态。我所能想象到的唯一改进和更改可能是CSS优化和当然的单元测试。这两件事我都不计划在近期内进行。因此,这将需要来自社区的支持。

我目前只把该项目托管在Github上而不是drupal.org的原因是,我首先想弄清楚是否在drupal.org上需要另一个独立的项目,是否有机会将其合并到field_group或Drupal核心中,以及社区对该模块的需求是否足够。

我很乐意在这里的问题队列中,或者在Slack或Twitter上讨论这个问题。

致谢

Commerce Quantity Increments 模块最初由Mag. Andreas Mayr开发和维护。

所有初始开发都由agoraDesign KG赞助。