2012-08-28 71 views
3

我認爲我嘗試了一切,閱讀所有內容,但我很困惑有關在Magento中過濾產品集合。我創建了一個新的產品屬性'syncron_state',但我無法設法通過此過濾器來過濾product_collection。當我嘗試按核心屬性過濾時,它的工作原理很清楚。Magento過濾產品的自定義屬性

$productsCollection = Mage::getResourceModel('catalog/product_collection') 
->addAttributeToFilter('sku', array('eq' => '000001')) 
->setCurPage(1)->setPageSize(10) 
->load(); 

但是,如果我嘗試按我的屬性過濾,我什麼也得不到。

$productsCollection = Mage::getResourceModel('catalog/product_collection') 
->addAttributeToFilter('syncron_state', array('eq' => '1')) 
->setCurPage(1)->setPageSize(10) 
->load(); 

的syncron_state是/否屬性,因爲據我所知它在數據庫中的整數值(但我想真/假和是/否的過濾也可以)。

我嘗試了所有版本的addAttributeToFilter和AddFieldToFilter。

哦,我與Magento的1.7.0.0戰鬥

+0

嗯,使用'syncron_state'作爲過濾器的你的收藏集應該像'syncron_state == yes'的產品一樣。您是否還將'syncron_state'屬性添加到適當的屬性集?也就是說,您是否已將新屬性添加到相關產品正在使用的特定屬性集?爲了確保,您是否至少將其中一個產品的syncron_state屬性設置爲「是」並保存了該產品? –

+0

哦,我的上帝......除了「至少將您的某個產品的syncron_state屬性設置爲Yes」之外,一切都是正確的。我把幾乎整整一個工作日扔進垃圾箱。非常感謝你。如果你在回答中寫下這些東西,我可以接受它,它可以幫助其他人。 –

回答

2

你收集使用syncron_state作爲過濾器應該如預期,至少對於具有syncron_state設置爲yes產品工作。

沒有獲得產品的一個可能的原因是,您未能將新的syncron_state屬性添加到正確的屬性集(這是必須的)。

另一個可能的原因是,您忘記將至少一個產品的syncron_state屬性設置爲Yes

相關問題