2012-10-18 47 views
0

我使用的是Joomla 2.5和Virtuemart 2.0.12。Virtuemart和Joomla:Uncaught TypeError:Object [object Object] has no method'iZoom'

現在,我在我的普通Joomla模板上安裝了virtmart模板。

現在,出現以下錯誤:

當打開在Virtuemart產品詳細信息頁面,該產品的縮略圖不工作,以及變焦。另外,將產品添加到購物車的按鈕不起作用。

這是錯誤:

Uncaught TypeError: Object [object Object] has no method '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

您的解決方案可能是JavaScript衝突。

幾天前我有類似的問題與Joomla! 2.5模板(jat3模板 - 更具體的JA Portfolio)以及我自己編寫的滑塊模塊。 首先,我認爲問題是由我的模塊引起的,但事實並非如此。

我的錯誤是類似的:

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

正如你所看到的錯誤幾乎是一樣的,唯一的方法是不同的,但我認爲這是在這種情況下無關緊要。由於程序不知道應該使用哪個庫或者它被joomla覆蓋(引用$符號),所以javascrips會出現這個錯誤,但這取決於它。

我必須承認,我從來沒有使用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'; 
} 

希望這個例子幫助

相關問題