2012-12-05 49 views
1

因此从产品视图我得到相关产品来显示。由于我不会进入的原因,我需要显示相关产品的图像,但它必须是一个自定义图像属性。所以我创建了一个名为colour_swatch的自定义图像属性,我需要访问它并将其显示在屏幕上。我已经对这个问题做了一些解读,并没有设法找到适合我需求的解决方案。Magento自定义图像属性从相关产品

因此,这里是我的代码:

<?php foreach($this->getItems() as $_item): ?> 
    <div class="eachProductRelated"> 
     <a href="<?php echo $_item->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_item->getName()) ?>" class="product-image"> 
      <img src="<?php echo $this->helper('catalog/image')->init($_item, 'colour_swatch') ?>" 
       width="20px" alt="<?php echo $this->htmlEscape($_item->getName()) ?>"/> 
     </a> 
    </div> 
<?php endforeach ?> 

如果我们用小图像当然将工作代替colour_swatch。我已经读过,如果您不是直接从产品视图调用它,则无法访问自定义图像属性。我看到的很多解决方案似乎都是过度的,肯定有一个更简单的解决方案?

可能是值得告诉你,我得到了以下错误消息:

一:5:I {:0; S:25: “图像文件未找到”; I:1; S :4015:“#0 /Users/Frank/Sites/bosideng/app/code/core/Mage/Catalog/Helper/Image.php(163): Mage_Catalog_Model_Product_Image-> setBaseFile(NULL)

是有可能我必须做一些如果没有选择检查?

+0

您是否对产品平台做过重新索引? –

+0

是的,我做了一个完整的重新索引。缓存清除等 – user1498426

回答

0

你好,我想你在自定义图片属性中添加新的图像网址,然后通话可能会有所帮助

<img src="<?php echo Mage::getModel('catalog/product')->load($product)->getData('colour_swatch'); ?>" 
+0

不幸的是,只是给我Sports Hooded Down Jacket With Detachable Hood user1498426

2

哇OK好友!

我已经想通了这个问题,并赦免了我的法语,但是这真是一个荒谬的谎言和一个愚蠢的猥琐。

设置新的自定义图像属性时,在选择属性类型“媒体图像”之前,必须在下拉列表中将“使用产品列表”设置为“是”,因为猜猜是什么!?当你选择媒体图像magento隐藏该选项。

感谢这家伙谁后,我发现搜索的年龄后:http://thedistance.co.uk/journal/2011-10/missing-magento-media-images

0

对于那些使用安装程序创建自定义图像类型,添加以下,使两个上市和视图页面图像中可见:

$this->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'colour_swatch', array(
    'group'    => 'Images', 
    'type'    => 'varchar', 
    'frontend'   => 'catalog/product_attribute_frontend_image', 
    'label'    => 'Color Swatch', 
    'input'    => 'media_image', 
    'class'    => '', 
    'source'   => '', 
    'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 
    'visible'   => true, 
    'required'   => false, 
    'default'   => '', 
    'used_in_product_listing' => true, 
)); 
相关问题