2012-08-06 209 views
0

誰能幫我解決php代碼這個難題? (備案,我不是一個PHP程序員)magento - 從簡單產品中使用可配置產品的圖像

我要顯示的縮略圖(使用銷售訂單屏幕和新訂單郵件)

簡單的產品都沒有問題。 我的代碼是這樣的:

<?php //added for sending image with order 
$product = Mage::getModel('catalog/product') 
->setStoreId($_item->getOrder()->getStoreId()) 
->load($_item->getProductId());  ?> 
<p align="center"><img src="<?php echo Mage::helper('catalog/image')->init($product, 'small_image')->resize(135); ?>" width="135" height="135" alt="" /></p> 

這工作正常。當我有一個與可配置產品相​​關的簡單產品時,它變得越來越困難。 可配置產品的「孩子」沒有包含圖像,只有可配置的產品。 (見截圖,所述第一產品是可配置的產物與圖像外,其餘均爲簡單的產品「兒童的」,沒有照片的)

enter image description here

隨着上面的代碼我只看到的圖像的佔位符。我怎樣才能調用可配置產品的圖像?

我使用的Magento 1.6.2.0專用服務器(Ubuntu的10.04lts服務器上運行)

回答

1

我只是通過這個問題上的工作。 Here is my solution

我跑進了,像你這樣的,圖像不鏈接到兒童產品配置的父(壽你可以將圖片上傳這些產品......)的問題。我採用了將圖像添加到驅動父級產品變體的屬性的路線,併爲它們輸出圖像。

我的解決辦法是紮成configurable.phtml模板,並使用JS拉出適當的細節(Magento會用很多JS表示配置的產品,不像包)。

祝你好運。這是一個痛苦。

(爲什麼Magento的不支持此開箱我永遠不會知道好像基本功能給我...)

更新


好 - 這真的取決於在你想要做什麼。如果你只是想給每個孩子一個產品的形象,你可以嘗試這樣的:

$spImages = array(); 
foreach ($this->getAllowProducts() as $_sp) { 
    $spImages[$_sp->getId()] = 
     (string)$this->helper('catalog/image') 
      ->init($_sp, 'small_image') 
      ->resize(40,40); 
} 

假設您已經上傳了每個孩子的產品的圖像。

但是,正如我提到的,我感興趣的是爲每個屬性選擇一個樣本,這是行不通了我的需要。這就是爲什麼我將圖像與屬性本身相關聯。

+0

但這是更集中於它自己的屬性... – Ronny 2012-08-07 15:01:51

+0

我在尋找一種方式來獲得父產品的鏈接... – Ronny 2012-08-07 15:02:40

+0

看到我的更新 - – Bosworth99 2012-08-07 15:12:37

相關問題