2012-04-22 51 views
2

我正在爲Magento開發自定義裝運方法。對於此送貨方式,我需要設置自定義產品屬性(airfreight_allowed)。運送方法檢查所有產品的自定義屬性是否設置爲true。如何將自定義產品屬性加載到報價項目中?

我有一個安裝腳本添加的產品屬性:

$installer->addAttribute('catalog_product', 'airfreight_allowed', array(
'input'   => 'select', 
'source'  => 'eav/entity_attribute_source_boolean' 
... 
)); 

航運模塊我訪問報價的項目是這樣的:

foreach ($request->getAllItems() as $item) { /* Mage_Shipping_Model_Rate_request */ 
    if($item->getAirfreightAllowed() != 1) 
     return false; /* Airfreight not allowed */ 
} 

但報價項目不包含airfreight_allowed屬性。如何將airfreight_allowed屬性添加到報價項目?我如何確保該屬性包含相應產品屬性的值?

回答

10

添加到您的模塊的config.xml:

<global> 
    <sales> 
    <quote> 
     <item> 
      <product_attributes> 
       <airfreight_allowed /> 
      </product_attributes> 
     </item> 
    </quote> 
    </sales> 
</global> 

設置「在產品上市使用」屬性的屬性設置爲true。

然後你就可以像這樣訪問屬性:

foreach ($request->getAllItems() as $item) { 
    if($item->getProduct()->getAirfreightAllowed() != 1) 
     return false; 
} 
+0

誰能幫助設置上述Magento的2? – 2016-07-25 08:10:32

相關問題