Answers:
Joomla 3.x随附了Bootstrap 2的文件,由于向后兼容性,在Joomla 3.x系列中这不太可能更改。
重要的是要知道Bootstrap包含两个主要区域:
的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代码的方法,例如工具提示或标签。此代码可以并且应该由扩展使用。只需确保将它们加载到布局中即可,以便在需要时可以被模板覆盖。
正如您已经指出的那样,Joomla 3.x不会使用Bootstrap 3.x,因此,如果您决定一起使用Bootstrap 3,则用户将加载2个版本的Bootstrap,这可能会导致冲突并减少页面加载速度。
您可以做的是编写一个小脚本,以检测哪个版本的Bootstrap为模板供电,并使用该版本为扩展程序设置样式。我认为NoNumber或Akeeba都可以选择要使用的Bootstrap版本。我不记得是哪个,但是值得一看他们是如何做到的。
但是,为什么不使用Bootstrap为扩展名设置样式,为什么不将某些自定义样式作为另一种选择呢?并非所有模板都基于Bootstrap。
希望这能给您一些见识。
在扩展程序中,您应该始终在扩展程序中使用Bootstrap 2语法-尤其是在后端。这是Joomla核心正式支持的版本,因此,您始终可以按预期的方式进行样式设计,并且不必随模板一起提供引导程序。Bootstrap 3随附的扩展必须包含此扩展(例如,请注意Akeeba产品随附的相当大的Akeeba Strapper类)。
使用Bootstrap 3的模板提供程序通常通过编辑其较少文件以考虑两种版本的Bootstrap来允许Bootstrap 2语法。那些不应该期望需要使用模板替代的人。
Joomla随Bootstrap 2一起交付而没有转移到Bootstrap 3的要点是,因此整个Joomla系列中都有一个b / c交叉扩展CSS / JS框架。
如果您需要使用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之类的框架来避免上述问题。