2012-04-22 50 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

相关问题