내 가게에 일부 필터를 추가하려고 시도하고 있지만 불쾌한 부작용이 있습니다.Magento : addAttributeToFilter하지만이 속성이없는 제품은 무시합니까?
상품 유형 A와 B가 있다고 가정 해 보겠습니다. 이제는 A 색상 = 파란색/빨간색 만 표시하고 싶습니다.
$collection = Mage::getResourceModel('catalog/product_collection')
->setStoreId($this->getStoreId())
->addCategoryFilter($this)
->addAttributeToFilter(array(
array('attribute' => 'color', 'in' => array(4, 6)),
)
);
이 트릭 않습니다,하지만 지금은 제품 유형 B는 (이 속성이 임명되지 않기 때문에) 색에 할당 된 값이 유형 쇼까지 FO 어떤 제품이 없기 때문.
나는 포럼 http://www.magentocommerce.com/boards/viewthread/178309에이 코드를 발견했지만, 그것은 작동하지 않습니다
array('attribute' => 'color', 'is' => new Zend_Db_Expr('null'))
을 둘 다 수행합니다 실제로 제품 속성이 지정되지하지만에있는 느릅 나무 보여줍니다
array('attribute' => 'color', 'null' => true),
값이 선언 됨 ...
나는이 문장은 'OR'로 연결되어 생각하기 때문에(설명서에 따라)하지만, 심지어는
참고이 값은 드롭 다운 목록에서 오는 것을 ... 제품 유형 속성이 할당이 이십 기가 바이트 추가 , 비록 그것이 중요하다라고 확신하지 않는.
가 어디에서 이것을 요구하고있다? (메서드 호출에서 "$ this"는 무엇입니까?) –
나는 app/code/core/mage/catalog/model/category.php의 getProductCollection()에서 이것을 호출합니다. – Rakward