在新扩展中应使用哪个Bootstrap版本v2.3或v3


9

作为扩展开发人员,我仍然对即将发布的扩展中使用哪个Bootstrap版本感到困惑。

  • 在许多讨论中,我发现Joomla 3.x不会使用bootstrap-3.0。
  • 大多数模板提供程序都使用bootstrap v3
  • 许多扩展也使用bootstrap v3

选择什么?

Answers:


6

Joomla 3.x随附了Bootstrap 2的文件,由于向后兼容性,在Joomla 3.x系列中这不太可能更改。

重要的是要知道Bootstrap包含两个主要区域:

  • CSS文件
  • JavaScript框架

的CSS

Joomla包含了作为源LESS文件和已编译CSS文件包含的那些文件。Joomla本身不会加载任何Bootstrap CSS文件。由模板决定是要使用这些文件还是附带自己的CSS文件。

在后端,活动模板通常是“ Isis”,它大量使用Bootstrap 2文件。因此,在扩展后端中使用Bootstrap 2样式是有意义的。尤其是因为反正没有很多替代管理模板

但是在前端,这是一个完全不同的主题。您不知道用户将使用什么模板以及该模板将基于哪个框架。就我个人而言,我也决定在这里使用Bootstrap 2样式,这是核心输出也使用那些样式的唯一原因。因此,模板支持这些类的可能性很高。否则,它将为输出提供覆盖。如果它对核心使用替代,则您的扩展程序可能也同样需要替代。

您当然也可以添加对Bootstrap 3的支持,但这意味着您的工作量会增加一倍。但是,我永远不会只提供Bootstrap 3布局,而不能选择加载Bootstrap 2。

的JavaScript

Joomla具有加载Bootstrap JavaScript代码的方法,例如工具提示或标签。此代码可以并且应该由扩展使用。只需确保将它们加载到布局中即可,以便在需要时可以被模板覆盖。


1

正如您已经指出的那样,Joomla 3.x不会使用Bootstrap 3.x,因此,如果您决定一起使用Bootstrap 3,则用户将加载2个版本的Bootstrap,这可能会导致冲突并减少页面加载速度。

您可以做的是编写一个小脚本,以检测哪个版本的Bootstrap为模板供电,并使用该版本为扩展程序设置样式。我认为NoNumber或Akeeba都可以选择要使用的Bootstrap版本。我不记得是哪个,但是值得一看他们是如何做到的。

但是,为什么不使用Bootstrap为扩展名设置样式,为什么不将某些自定义样式作为另一种选择呢?并非所有模板都基于Bootstrap。

希望这能给您一些见识。


问题是我们需要进行扩展,以免与模板提供程序冲突。如果我们进行自定义样式,则客户在使用其他模板时会遇到问题。
Shyam 2014年

您可能最好还是坚持使用Bootstrap2.x。Joomla的大多数模板仍以该版本为基础,因为Joomla已预包装。有时,问题在于您无法满足每个人的需要。例如,可能有一些模板提供者使用Foundation来为其模板提供动力,但是我不知道有任何支持Foundation类的开发人员
Lodder 2014年

1

在扩展程序中,您应该始终在扩展程序中使用Bootstrap 2语法-尤其是在后端。这是Joomla核心正式支持的版本,因此,您始终可以按预期的方式进行样式设计,并且不必随模板一起提供引导程序。Bootstrap 3随附的扩展必须包含此扩展(例如,请注意Akeeba产品随附的相当大的Akeeba Strapper类)。

使用Bootstrap 3的模板提供程序通常通过编辑其较少文件以考虑两种版本的Bootstrap来允许Bootstrap 2语法。那些不应该期望需要使用模板替代的人。

Joomla随Bootstrap 2一起交付而没有转移到Bootstrap 3的要点是,因此整个Joomla系列中都有一个b / c交叉扩展CSS / JS框架。


0

如果您需要使用Bootstrap 3,我认为您应该为整个Bootstrap 3 CSS命名(例如Community Builder V2),例如,如果您使用BS3作为前端,则joomla核心功能将无法编辑前端的菜单和模块。

来自社区构建者论坛的报价:

原始链接:http : //www.joomlapolis.com/forum/6-news-and-publicity/224106-community-builder-20-b2-released? start =6

但是CB2.0会使用Bootstrap 2还是3?

引导程序3。

并且CB将始终加载完整的Bootstrap库,即使只是站点上的登录模块也是如此),因为Bootstrap还会加载大量不必要的内容。

不,我们不使用任何Twitter Bootstrap JS。

目前,我们仅使用其CSS(我们还有其他更好的jQuery插件提供JS功能)。我们还为Twitter Bootstrap加载了名称空间,因此它不可能在名称空间之外发生冲突或更改样式。现在,我们不会一直加载它。加载CB模板时,我们始终只加载template.css和fontawesome.css。注意CBs模块不使用CB样式。它们被设计为与Joomla 1:1匹配,因此模块正确地适合您的站点。

另一个解决方案是使用诸如Skeleton或Foundation之类的框架来避免上述问题。

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.