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