2012-08-06 143 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

相关问题