2011-02-08 4 views
5

특정 카테고리에만 판매 가격이있는 제품 목록을 얻으려고합니다. 지금은이 데이터를 얻기 위해 제품 컬렉션을 사용하려고합니다. 특정 카테고리에 대해서만 컬렉션을 제한하는 방법에 대해 확신하지 못합니다. 여기에 지금까지 무엇을 가지고 :Magento Product Collection 특정 카테고리의 제품 만 가져 오기

$products = Mage::getModel('catalog/product') 
    ->getCollection() 
    ->addAttributeToSelect('*') 
    ->addAttributeToFilter('status', 1) 
    ->addAttributeToFilter('visibility', 4) 
    ->addAttributeToFilter('special_price', array('neq' => "")) 
    ->addAttributeToFilter('discontinued', array('neq' => 1)) 
    ->setPageSize(10) 
    ->setOrder('price', 'ASC') 
    ; 

중단 된 속성은을 사용하는 방법은 우리가 제품을 표시 할뿐만 아니라 404

하지 않도록 사용하는 사용자 정의 속성이 존재한다 특정 카테고리로 제한 할 수 있습니까?

+0

참고로 'special_price'는 쿼리에 사용할 수 없습니다. 이 질문과 대답은 약간 설명합니다 : http://stackoverflow.com/questions/12054165/ –

답변

5

알아 냈어. 카테고리로 시작하여 카테고리에서 제품 컬렉션을 가져 와서 거기에서부터 수정하십시오. 코드에서 다음과 같이 보입니다 :

$products = Mage::getModel('catalog/category')->load(410) 
    ->getProductCollection() 
    ->addAttributeToSelect('*') 
    ->addAttributeToFilter('status', 1) 
    ->addAttributeToFilter('visibility', 4) 
    ->addAttributeToFilter('special_price', array('neq' => "")) 
    ->addAttributeToFilter('discontinued', array('neq' => 1)) 
    ->setOrder('price', 'ASC') 
    ; 
관련 문제