Image Magento-如何检索捆绑选项图像

Image Magento-如何检索捆绑选项图像,image,magento,options,Image,Magento,Options,我一直在做我的第一个magento部署。建立了一个非常定制的主题。。。现在解决一些非标准定制问题: 我的主要产品类型之一是办公椅,我将其作为捆绑产品安装。这种产品类型有很多选择(大约100种面料选择、手臂款式、腰部、头枕等),我需要能够在目录/产品/视图页面上显示每种产品的图像 作为一个捆绑产品(我将避免讨论这是否是正确的产品类型——我们在可配置和捆绑产品之间进行了周而复始的争论)——每个产品都是由许多简单的产品(作为选项)组装而成的。这些简单的产品可以上传图片,我已经这样做了我现在想从媒体文件

我一直在做我的第一个magento部署。建立了一个非常定制的主题。。。现在解决一些非标准定制问题:

我的主要产品类型之一是办公椅,我将其作为捆绑产品安装。这种产品类型有很多选择(大约100种面料选择、手臂款式、腰部、头枕等),我需要能够在目录/产品/视图页面上显示每种产品的图像

作为一个捆绑产品(我将避免讨论这是否是正确的产品类型——我们在可配置和捆绑产品之间进行了周而复始的争论)——每个产品都是由许多简单的产品(作为选项)组装而成的。这些简单的产品可以上传图片,我已经这样做了我现在想从媒体文件夹中检索URL…

在一些狩猎之后——这些似乎是基本要素:

主题/。/模板/目录/产品/视图/选项。phtml

<?php $_options = Mage::helper('core')->decorateArray($this->getOptions()) ?>
<dl>
    <?php foreach($_options as $_option): ?>
        <?php echo $this->getOptionHtml($_option) ?>
    <?php endforeach; ?>
</dl>
<?php /* @var $this Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option_Select */ ?>
<?php $_option      = $this->getOption(); ?>
<?php $_selections  = $_option->getSelections(); ?>
var option_set_<?php echo $_option->getId() ?> = {};
<?php foreach ($_selections as $_selection): ?>
    option_set_<?php echo $_option->getId() ?>._<?php echo $_selection->getSelectionId() ?> = '<?php echo $_selection->getImageUrl(); ?>';
<?php endforeach; ?>
因此,我们得到一个数组,其中包含
选择id
产品id
价格类型
等等。。。但没有任何内容涉及该选择的图像url

鉴于:

class Mage_Catalog_Helper_Product extends Mage_Core_Helper_Url
{ ...
public function getImageUrl($product)
        {
            $url = false;
            if (!$product->getImage()) {
                $url = Mage::getDesign()->getSkinUrl('images/no_image.jpg');
            }
            elseif ($attribute = $product->getResource()->getAttribute('image')) {
               $url = $attribute->getFrontend()->getUrl($product);
           }
           return $url;
       }
我正在尝试构建一个js对象,其中引用每个选择的图像url,类似于theme/./template/bundle/catalog/product/view/type/bundle/option/select.phtml中的内容

<?php $_options = Mage::helper('core')->decorateArray($this->getOptions()) ?>
<dl>
    <?php foreach($_options as $_option): ?>
        <?php echo $this->getOptionHtml($_option) ?>
    <?php endforeach; ?>
</dl>
<?php /* @var $this Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option_Select */ ?>
<?php $_option      = $this->getOption(); ?>
<?php $_selections  = $_option->getSelections(); ?>
var option_set_<?php echo $_option->getId() ?> = {};
<?php foreach ($_selections as $_selection): ?>
    option_set_<?php echo $_option->getId() ?>._<?php echo $_selection->getSelectionId() ?> = '<?php echo $_selection->getImageUrl(); ?>';
<?php endforeach; ?>

如果有人需要修复,我选择的答案也会很好

美元选择中的产品id代表所选简单产品的id。 因此,我们要做的就是:

  • 获取$\u选项的产品id
  • 按此产品\u id加载产品
  • 将生成的产品对象提供给Mage_Catalog_Helper_product::getImageUrl

  • 我在发布这篇文章几小时后就发现了这一点(见更新)。这与你的答案非常接近,但是放弃获得产品id。这也会起作用。干杯