2013-06-18 66 views
0

我已將Google Content API實現到我的Magento商店,並且迄今爲止它的工作狀態還算不錯,但我需要解決一個問題,即一個虛擬產品需要使用它的父圖像。Magento Google API for Shopping ImageLink.php父圖像

這是函數從ImageLink.php的GoogleShopping模塊:

public function convertAttribute($product, $entry) 
{ 
      $url = Mage::helper('catalog/product')->getImageUrl($product); 
      if ($product->getImage() && $product->getImage() != 'no_selection' && $url) { 
        $this->_setAttribute($entry, 'image_link', self::ATTRIBUTE_TYPE_URL, $url); 
       } 
    return $entry; 
} 

然後我試圖修改此搶家長的形象,如果有父母,就像這樣:

public function convertAttribute($product, $entry) 
{ 
      $parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product); 
      if ($parentIds[0] != '') { 
       $product = $parentIds[0]; 
      } 
      $url = Mage::helper('catalog/product')->getImageUrl($product); 
      if ($product->getImage() && $product->getImage() != 'no_selection' && $url) { 
        $this->_setAttribute($entry, 'image_link', self::ATTRIBUTE_TYPE_URL, $url); 
       } 
    return $entry; 
} 

但這似乎失敗。我認爲原因是我不能說出變量$ product實際上是什麼。我試過把它寫入一個文件,但沒有得到任何輸出。

有沒有人處理過這個或有一些想法如何去解決它?

謝謝,

回答

1

破解它。我的代碼有點偏離。

這應該幫助別人很多誰需要幫助tweeking在Magento所以這裏的谷歌API featuer的是我做了什麼Ø得到這個工作:

public function convertAttribute($product, $entry) 
{ 
      $parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId()); 
      if ($parentIds[0] != '') { 
       $product = Mage::getModel('catalog/product')->load($parentIds[0]); 
      } 
      $url = Mage::helper('catalog/product')->getImageUrl($product); 
      if ($product->getImage() && $product->getImage() != 'no_selection' && $url) { 
        $this->_setAttribute($entry, 'image_link', self::ATTRIBUTE_TYPE_URL, $url); 
       } 
    return $entry; 
} 

您應該能夠使用類似的修改,以獲得例如,該URL的其他父項。

乾杯!

0
public function convertAttribute($product, $entry) 
{ 
     $parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId()); 
     if ($parentIds[0] != '' && $product->getImage() == 'no_selection') { 
      $product = Mage::getModel('catalog/product')->load($parentIds[0]); 
     } 
     $url = Mage::helper('catalog/product')->getImageUrl($product); 
     if ($product->getImage() && $product->getImage() != 'no_selection' && $url) { 
       $this->_setAttribute($entry, 'image_link', self::ATTRIBUTE_TYPE_URL, $url); 
      } 
return $entry; 
} 

我修改了這一點。我想檢查一下這個簡單的產品是否有圖像,如果它確實繼續使用它,所以我添加了& & $ product-> getImage()=='no_selection'如果圖像丟失,那麼我想要可配置的圖像。我不確定是否有更好的方法來做到這一點,但目前這似乎正在起作用。希望這可以幫助某人。我使用Magento Enterprise 1.12。