2

我正在开发一个新网站,为此我安装了最新版本的 Joomla,3.1.1。我使用 Twitter Bootstrap 从头开始​​创建了一个模板。我下载了最新版本的 Bootstrap,并在我的模板的 index.php 中加载了相关的 javascript。

在我的一个页面上创建轮播时,我遇到了轮播指示器无法反映当前图片的错误。通过Firebug调查,发现页面加载的bootstrap.min.js不是我放在/template/xxx/js中的,而是/media/jui/js中的另一个,是Joomla自己加载的. Joomla 加载的是旧版本。

所以我将最新版本的 bootstrap.min.js 复制到 /media/jui/js,我的轮播现在可以正常工作了。但是(总是有一个但是),我现在有一些菜单在站点的管理端不起作用,使用默认的 Isis 模板。如果我放回旧版本的 bootstrap.min.js,它们会再次工作......

我想做以下两件事之一:

  • 找到一种方法让 Joomla 为网站的管理员端和用户端加载不同版本的 bootstrap.min.js
  • 找到一种方法来覆盖 Joomla 从我的模板 index.php 加载的 javascript

关于如何实现其中一个或另一个的任何想法?

谢谢,帕特里克

4

4 回答 4

2

Joomla 附带了一个稍微修改过的 Bootstrap 版本,因此您不能将其更换为较新的版本。

您最好的办法是为 Joomla 附带的 Bootstrap 版本找到该轮播脚本的版本。否则,您将在任何更新时遇到问题。

于 2013-05-10T22:27:18.300 回答
2

您可以通过将文件放在templates/<your_template>/js/jui/bootstrap.min.js. 但正如 nibra 所警告的那样,您需要在 JS 中进行一些修改,以保持工作正常。同样,您将使用的 JS 版本不适用于我们目前在核心中发布的内容。

因此,可以干净利落地做到这一点,但存在相当大的风险。

于 2013-05-13T04:33:01.560 回答
0

我找到了一个似乎可以接受的解决方案:我<script src="在模板的 index.php 中插入了一行,以加载最新版本的引导模板。结果,两个版本的引导 javascript 都已加载,但使用的是最近加载的,并且我的轮播正在工作。

我不希望这会对 Joomla 中的其他模块造成问题,因为我只使用基本模块或我自己创建的新模块。无论如何,Joomla 的菜单模块与引导导航栏不兼容,我不得不添加一些 jQuery 行来添加所需的类。

Rgds,帕特里克

于 2013-05-11T15:29:19.237 回答
0

从您的模板的 index.php 中删除JHtml::_('bootstrap.framework');并手动添加您想要的任何版本的引导程序,没什么大不了的....除非您必须更改整个模板标记...

于 2013-05-11T15:57:21.530 回答