0

我正在使用 Joomla 2.5 和 Virtuemart 2.0.12。

现在,我在我的普通 Joomla 模板之上安装了一个 meadowmart 模板。

现在,出现以下错误:

在 Virtuemart 中打开产品详细信息页面时,产品的缩略图和缩放都不起作用。此外,将产品添加到购物车的按钮不起作用。

这是错误:

未捕获的类型错误:对象 [object Object] 没有方法“iZoom”

这是 .js 文件中的代码:

// Lets Load The Lens Effect ;-)
bigImage.iZoom({
    borderColor: '#e1e0e0', // set the loupe border color
    borderWidth: '3px', // set the loupe border width
         diameter: '170'
});

我将如何解决这个问题?我在 Joomla 中完全没有安装其他组件或模块。

先感谢您。

约里特

4

1 回答 1

0

您的解决方案可能是 javascript 冲突。

几天前,我遇到了与 Joomla 类似的问题!2.5模板(jat3模板 - JA Portfolio更具体)和我自己编写的滑块模块。首先,我认为问题是由我的模块引起的,但事实并非如此。

我的错误与您的类似:

Uncaught TypeError: Object [object Object] has no method 'getElements'

如您所见,错误几乎相同,只是方法不同,但我认为在这种情况下无关紧要。当 javascrips 冲突出现时会发生此错误,因为程序不知道它应该使用哪个库或者它被 joomla 覆盖($ 符号的引用) - 但它取决于。

我必须承认我从未使用过 Virtuemart,也不知道模板使用中包含了哪种 javascript,但我确信您的解决方案是专注于:

jQuery.noConflict();

..只要包含 jQuery 库。

我用这几行解决了我的问题到.php我模块的主文件中:

if($loadJquery) $document->addScript(ModSlideshowHelper::getJqueryFile($jqueryFile));
if($jqueryNoConflict) $document->addScript(ModSlideshowHelper::getJqueryNoConflictFile());

正如您注意到的第一行添加 jQuery 脚本,第二行包括静态函数。加载第二个函数的文件只包含一行jQuery.noConflict();

public static function getJqueryNoConflictFile()
{
    return 'modules'.DS.'mod_slideshow'.DS.'js'.DS.'jquery-no-conflict.js';
}

希望这个例子有帮助

于 2013-01-20T16:19:55.140 回答