2012-12-05 107 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, 
)); 
相關問題