2012-06-18 121 views
0

不確定是否有人可以幫我,但我有一個產品查看頁面,在頂部我有一個產品名稱在h1標籤。Magento - 點擊顯示圖片標籤

每個產品都有一個選擇會從標籤作爲它們的顏色,即回連接到它的圖像,象牙的勃艮第等等

我想如下所顯示的產品名稱:

產品名稱|顏色

我設法讓它發生的第一(defualt)圖像。

所以,當你去產品頁面的名稱是:

Albany |黑色(正是我想要的)

當你點擊不同的顏色可供選擇(這是圖像)的產品名稱更改爲現在我想:

|奧爾巴尼象牙色 Albany | Burgandy Albany |巧克力等等等

我收到了一定的幫助,但現在我卡住了。

我已被告知改變的script.js文件F0主題,以inclide如下:

$('.more-views a').click(function(){ 
$('#label').text($('img', this).attr('alt') ); }); 

的代碼,我周圍我的h1標籤如下:

<div class="product-name"> 
      <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?> 
      <span id="label"><?php echo ' | ' ?><?php echo $_product->getData('image_label');?></span></h1> 
     </div> 

如果任何人都有任何想法我可以做到這一點,我真的很感激它。

在此先感謝。

鏈接到相關頁面是在這裏:

http://dansiop.com/yarwood/index.php/albany.html

+0

我看到'img'標籤的'HTML'已損壞,所有圖像的'alt'屬性不包含任何值。請檢查元素並看看。如果生成的「HTML」是正確的,你的代碼可以工作。 –

回答

1

你有幾個Javascript庫加載到頁面(包括scriptaculous,原型和jQuery)。看到你沒有使用jQuery.noConflict(),如果你使用jQuery,你將不得不使用jQuery而不是$

此外,你有jQuery 1.7+加載,所以我建議你使用委託處理這個。

// don't forget document ready 
jQuery(function ($) { 

    // let's cache the label 
    var _label = $('#label'); 

    $('.more-views').on('click', 'a img', function() { 
     _label.text($(this).attr('alt')); 
    }); 

}); 

如前所述,你必須把在alt屬性,在圖像的這個工作。獲得alt的價值並沒有多大意義,並且顯示如果沒有開頭的話。

<img src="" alt="Blue" /> 
+0

謝謝大家,唯一的想法是我必須解決我的alt代碼 - 這是錯誤的,所以alt代碼不會被echo'd。一旦我修復了alt代碼,以便它迴應它的工作。 –

0
$('.more-views a').click(function(){ 
    $('#label').text($(this).find('img').attr('alt')); 
}); 

請參閱我comment這個答案之前。