2011-02-28 66 views
2

我有一個產品屬性,我已經將範圍設置爲網站(所以理論上它會在每個網站定義不同)。Magento addAttributeToFilter不工作的方式,我認爲它應該

但是,由於某種原因,當我在addAttributeToFilter()中使用它時,它似乎忽略了它。

讓我告訴你我使用的代碼:

$total_products_obj = Mage::getModel('catalog/product') 
    ->getCollection() 
    ->addAttributeToSelect('*') 
    ->addAttributeToFilter('discontinued', array('neq' => 1)) 
    ->addAttributeToFilter('video_url', array('notnull' => '')); 

我有麻煩的屬性是VIDEO_URL屬性。就像我說的範圍設置爲網站,其中已停用是一個全球屬性。

我還沒有真正做過很多關於網站的屬性,還有什麼我需要做的,爲了讓這個屬性不被忽略?現在我收到所有產品的停產不等於1的集合。

+0

我剛剛做的一件事就是關閉「使用平板目錄產品」,並開始按預期工作。這對任何人都有意義嗎? – 2011-03-01 11:42:29

回答

0

我關掉了使用平板目錄產品,它開始按預期工作。

4

我找到了解決方法。相反,使用該方法的陣列版本,實際上是爲了創建'OR'條件。這會生成正確的SQL。

例如

->addAttributeToFilter(array( array('attribute'=>'video_url', 'notnull' => '') ))

這是一個有點難看,但允許您仍然使用扁平目錄。

+0

這應該是正確的答案。 – 2013-06-25 20:06:31

+0

但是爲什麼Flat Catalog Product會導致這個問題呢?這是如何解決它的?謝謝 – drj201 2014-07-04 08:01:48

相關問題