Image Magento-如何检索捆绑选项图像
我一直在做我的第一个magento部署。建立了一个非常定制的主题。。。现在解决一些非标准定制问题: 我的主要产品类型之一是办公椅,我将其作为捆绑产品安装。这种产品类型有很多选择(大约100种面料选择、手臂款式、腰部、头枕等),我需要能够在目录/产品/视图页面上显示每种产品的图像 作为一个捆绑产品(我将避免讨论这是否是正确的产品类型——我们在可配置和捆绑产品之间进行了周而复始的争论)——每个产品都是由许多简单的产品(作为选项)组装而成的。这些简单的产品可以上传图片,我已经这样做了我现在想从媒体文件夹中检索URL… 在一些狩猎之后——这些似乎是基本要素: 主题/。/模板/目录/产品/视图/选项。phtmlImage Magento-如何检索捆绑选项图像,image,magento,options,Image,Magento,Options,我一直在做我的第一个magento部署。建立了一个非常定制的主题。。。现在解决一些非标准定制问题: 我的主要产品类型之一是办公椅,我将其作为捆绑产品安装。这种产品类型有很多选择(大约100种面料选择、手臂款式、腰部、头枕等),我需要能够在目录/产品/视图页面上显示每种产品的图像 作为一个捆绑产品(我将避免讨论这是否是正确的产品类型——我们在可配置和捆绑产品之间进行了周而复始的争论)——每个产品都是由许多简单的产品(作为选项)组装而成的。这些简单的产品可以上传图片,我已经这样做了我现在想从媒体文件
<?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。 因此,我们要做的就是:
我在发布这篇文章几小时后就发现了这一点(见更新)。这与你的答案非常接近,但是放弃获得产品id。这也会起作用。干杯