【问题标题】:Use two bootstrap versions without breaking things使用两个引导版本而不破坏事物
【发布时间】:2018-03-24 23:58:35
【问题描述】:

我知道这可能是一个奇怪的问题,但我确实需要在同一页面中呈现两个引导程序版本。 我正在使用 Umbraco CMS,它默认使用引导程序版本 2.x,而我的前端页面使用引导程序 4。 但是我正在使用来自 bootstrap 4 的一些小部件,例如卡片、轮播等,并且要在 umbraco 仪表板中查看结果,我需要在 umbraco 本身中呈现 bootstrap 4 css 文件。在那一刻,小部件成功呈现,但 umbraco 仪表板正在被 bootstrap 4 文件修改,并且有些事情不像以前那样工作。

有什么方法可以在不破坏 umbraco 使用的引导程序 2 的情况下渲染引导程序 4。我正在考虑自定义 bootstrap 4,包括类名等,但我不知道是否可能以及是否有在线网站可以为我做到这一点。

任何关于这个问题的帮助将不胜感激!

编辑 1

以下是我试图描述的一些图片:

因此,如果创建自定义网格布局字段并在其中渲染引导程序 4,它会覆盖 umbraco 默认引导程序,正如您从树视图中的蓝色名称中看到的那样。

我必须渲染 bootstrap 4 才能正确看到我添加到网格布局中的小部件,如下图所示:

【问题讨论】:

  • 这主要是因为覆盖引导类对吧?
  • @LakinduGunasekara 是,但不知道如何解决
  • 迁移到 bootstrap 4 会有所帮助吗? getbootstrap.com/docs/4.0/migration
  • @LakinduGunasekara nope,因为我无法更改 CMS 本身,我想是否有一个网站可以为每个类添加一个前缀或与使用 umbraco 的网站不同的东西

标签: css twitter-bootstrap bootstrap-4 umbraco umbraco7


【解决方案1】:

作为 cms 的 Umbraco 与前端框架无关,我的意思是 Umbraco 在前端代码中不使用特定的前端框架。你可以使用任何你想要的东西。当您开箱即用地安装 Umbraco(并选择不安装 starterkit)时,您会从一个完全空白的状态开始。

您是在修改现有网站还是安装了使用引导程序第 2 版的入门工具包?在这种情况下,将版本 2 迁移到 4 应该是相当简单的。

更新答案

我现在明白你的意思是网格布局系统。

对于前端:您现在可能正在调用@Html.GetGridHtml("content"),您可以在此处插入自己的网格系统。 Umbraco 附带了对 bootstrap 2 和 3 的支持,但您也可以自己实现 bootstrap 4。如果您查看以下文件夹:Views/Partials/Grid/,您将看到 bootstrap2.cshtml 和 bootstrap3.cshtml。您可以自己添加 bootstrap4.cshtml(您可能想要复制 bootstrap3.cshtml 并进行一些调整)并通过将 GetGridHtml 调用更改为 @Html.GetGridHtml("content", "bootstrap4")

来调用它

对于后端:我会非常小心地包含完整的引导样式表。这可能会改变或破坏 umbraco 后端的内容。就我个人而言,在 umbraco 中设置网格组件的样式时,我尝试让内容编辑器了解它在前端的外观,而不是完整的用户体验。对于这种情况,我将为在网格编辑器中使用的按钮创建一个单独的最小样式表。

【讨论】:

  • 嗨@Mark,感谢您的回答,但我想说的是有点不同。当您创建网格布局时,您可以选择在其中渲染 css 文件,以在网格布局中显示我的组件,我需要渲染引导程序 4,但如果这样做,它将覆盖用于后端仪表板的 umbraco 引导程序,我不想这样做。希望你明白这一点。我也会添加一些图片来说明情况
猜你喜欢
  • 2014-07-24
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多