我遇到问题,我无法获取名为upsell
的自定义属性,以显示为我的追加销售图像。
属性信息
属性代码:追加销售
范围:商店视图
商店所有者的目录输入类型:媒体图像
适用于:所有产品类型
我在skin/frontend/.../images/catalog/product/placeholder/
这是显示图片的代码
<img src="<?php echo $this->helper('catalog/image')->init($_item, 'upsell')->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(150); ?>" alt="<?php echo $this->htmlEscape($_item->getName()) ?>" />
如果我将($_item, 'upsell')
更改为($_item, 'thumbnail')
,则会显示正确的缩略图。
我在创建属性的过程中是否遗漏了什么?
答案 0 :(得分:0)
ayTo调用可以使用的图像: $ this-&gt; helper('catalog / image') - &gt; init($ _ product,'product_details_image') - &gt; resize()
,完整的脚本是:
<?php
$_detailsImg = $this->helper('catalog/image')->init($_product,'product_details_image')->resize();
if ($_detailsImg != 'no_selection'):
$_detailsImg ='<img src="'.$this->helper('catalog/image')->init($_product, 'product_details_image')->resize().'" alt="'.$this->htmlEscape($this->getImageLabel()).' "/>';
echo $_helper->productAttribute($_product, $_detailsImg , 'product_details_image');
endif;
?>
请将product_details_image更改为您的属性图片代码。
如果您没有为产品分配图像,则会出现此错误:找不到图像文件。 in(var / reports) 所以要修复此问题,请创建一个与属性代码(product_details_image.jpg)同名的图像作为占位符并将其添加到: 皮肤/前端/碱/默认/图像/目录/产品/占位符/ 您也可以将它添加到您的皮肤文件夹中。这就对了。
修改强>
我会再次重写upsell.phtml,让所有ID将它添加到数组调用产品集合中,按ID过滤,您就可以调用任何属性,包括媒体图像 - 我可以确认这对我有用
修改强>
这可能听起来很愚蠢,但我找不到任何其他方式,我不得不加载每个产品的集合,我希望有人可以找到其他方式。
我确实尝试调用一个集合并使用产品ID(向上销售产品ID)过滤它,但它不起作用。
<?php if(count($this->getItemCollection()->getItems())):
$items = $this->getItemCollection()->getItems();
?>
<div class="box-up-sell">
<ul class="products-grid up-sell-grid">
<?php foreach ($items as $item): ?>
<li class="item">
<?php $product = Mage::getModel('catalog/product')->load($item->getId()); ?>
<span><?php echo $product->getName(); ?></span>
<img src="<?php echo Mage::helper('catalog/image')->init($product, 'measurements_guide_image')->resize(200, 200); ?>" alt="">
</li>
<?php endforeach ?>
</ul>
</div>
<?php endif ?>
答案 1 :(得分:0)
您需要将此媒体属性添加到产品展示设置:
<frontend>
<product>
<collection>
<attributes>
<upsell/>
</attributes>
</collection>
</product>
</frontend>
在我的模块config.xml的代码中,然后你需要从索引管理重新索引。