2012-07-05 56 views
1

我不得到理解complety行爲添加的自定義屬性OS在Magento集合。接下來,I'll說明問題:Magento-不容檢索集合中的產品型號

對於項目的要求,我需要添加自定義屬性在GoogleShopping在飼料中排除severals產品。然後,添加與PHP腳本安裝

<?php 
    $installer = $this; 
    $installer->startSetup(); 
    $installer->addAttribute('catalog_product', 'in_googleshopping_feed', array(
    'group'     => 'General', 
    'type'      => 'int', 
    'input'     => 'select', 
    'label'     => 'In GoogleShoppint feed', 
    'global'     => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 
    'visible'     => 1, 
    'required'     => 0, 
    'default'   => 1, 
    'visible_on_front'   => 0, 
    'is_html_allowed_on_front' => 0, 
    'sort_order'    => 32, 
    'is_configurable'   => 0, 
    'source'     => 'eav/entity_attribute_source_boolean', 
    'searchable'    => 0, 
    'filterable'    => 0, 
    'comparable'    => 0, 
    'unique'     => false, 
    'user_defined'    => false, 
    'is_user_defined'   => false, 
    'used_in_product_listing' => true 
) 
); 


    $installer->endSetup(); 

接下來,在觀察我試圖找回這與值這個屬性:

$products = Mage::getModel('catalog/product')->getCollection() 
     ->addAttributeToSelect('*') 
      //->addAttributeToSelect('in_googleshopping_feed'); 
     ->addAttributeToFilter('in_googleshopping_feed',0); 

這是我的疑問,爲什麼haven't收集這個屬性?

不過,我可以檢索Product_Model的價值絲毫的下一個片段:

$products = Mage::getModel('catalog/product')->getCollection() 
      ->addAttributeToSelect('*'); 
$prodIds=$products->getAllIds(); 
foreach($prodIds as $productId): 
    $product = Mage::getModel('catalog/product')->setStoreId('1'); 
    $product->load($productId); 
    var_dump($product->getData('in_googleshopping_feed')); 
endforeach; 

然後,我的巨大的疑問是:爲什麼我不能用我的新屬性過濾收集? 我認爲與方法addAttributeToSelect(「*」)的所有字段添加到集合。

誰能幫我? 謝謝

回答

2

第一個可以看到的是addAttributeToFilter的第二個參數必須是數組。像這樣:

addAttributeToFilter('in_googleshopping_feed', array('eq', 0)); 
+0

非常感謝,我認爲這是一個frecueltly錯誤與收集工作。但在覈心/社區的許多地方我看到addAttributeToFilter無陣列。例如,在Find_Feed_Model_Import在該行的Magento 105 1.5.1.0可以看到$ productCollection-> addAttributeToFilter( 'is_imported',1);你知道如果在某些情況下工作,無數組? – davidselo 2012-07-05 14:47:27