2014-02-14 4 views
0

magento에서 정렬 순서에 문제가 있습니다.magento community 1.7.0.2 제품 컬렉션 정렬이 작동하지 않습니다.

$productPriceCollection = $products2->addAttributeToSort('mb_rank', 'DESC')->setPageSize("3")->addStoreFilter()->load(); 
    $priceOrderCollection = $productPriceCollection->setOrder('price', 'ASC')->load(); 

내가 여기서 뭘 시도하고 해당 세 가격 오름차순으로 정렬하고 난 나머지에 사용하는 최종 목록으로 그 목록을로드 한 후 가장 높은 mb_rank을 가지고 처음 3 개 제품을 얻고있다 방법.

그러나 나는 항상 가격 내림차순으로 주문하고 있습니다.

이미

$priceOrderCollection = $productPriceCollection->addAttributeToSort('price', 'ASC')->load(); 

차이

을 시도했습니다.

내가 뭘 잘못하고 있니?

최고

+0

특성 (text, select, int)은 어떤 유형입니까? – Marius

+0

가격 필드 유형은 가격입니다. – circass

+0

나는'mb_rank'에 대해 얘기하고있었습니다. – Marius

답변

0

은 어떻게 든 마 젠토는 제대로 정수 값을 정렬 할 필드 유형으로 가격을 사용해야 제대로 분류하지 않습니다 당신이 텍스트 필드를 사용하는 모든 경우 우선, 솔루션의 절반을 발견했다. 그렇지 않으면 문자열 값으로 계산됩니다.

처음 세 가지 결과에 대한 두 번째 정렬을 추가하는 것이 여전히 제 경우에는 작동하지 않습니다.

0

의견에 대한 죄송합니다. 방금 속성 유형이 중요하지 않다는 것을 알았습니다.
컬렉션에 ->load을 사용하고있는 것이 문제입니다.
컬렉션을로드 한 후에는 컬렉션을 수정할 수 없습니다.
이렇게 해보십시오.

$productPriceCollection = $products2->addAttributeToSort('mb_rank', 'DESC') 
    ->setPageSize("3") 
    ->addStoreFilter() 
    ->addAttributeToSort('price', 'ASC') 
    ->load(); 
+0

답변을 주셔서 감사합니다. 5 분 후에 다시 시도해보고 결과를 알려 드리겠습니다. – circass

+0

Unfortunatelly 이번에는 가격 정렬 만하고 mb_rank sort에는 영향이 없습니다. – circass

+0

인덱스를 다시 작성했는지 확인하십시오. – Marius

관련 문제