我正在使用Joomla 2.5和Virtuemart 2.0.12。
现在,我在普通的Joomla模板上安装了一个virtmart模板。
现在,发生以下错误:
在Virtuemart中打开产品详细信息页面时,产品的缩略图不起作用,以及缩放。此外,将产品添加到购物车的按钮不起作用。
这是错误:
未捕获TypeError:对象[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中绝对没有安装任何其他组件或模块。
提前谢谢。
JorritK
答案 0 :(得分:0)
您的解决方案可能是javascript冲突。
几天前我和Joomla有过类似的问题! 2.5模板(jat3模板 - 更具体的JA Portfolio)和我自己编写的滑块模块。 首先我认为问题是由我的模块引起的,但事实并非如此。
我的错误类似于您:
Uncaught TypeError: Object [object Object] has no method 'getElements'
正如您可以看到错误几乎相同,只有方法不同但我认为在这种情况下它是无关紧要的。当javascrips因为程序不知道应该使用哪个库或者它被joomla覆盖($ sign的引用)而发生这种错误时,会发生这种错误 - 但这取决于。
我必须承认我从未使用过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';
}
希望这个例子有帮助