2010-12-09 8 views
1

magento 사이트의 백엔드에있는 인보이스에 나열된 항목을 알파벳순으로 표시하려고합니다.송장과 관련된 제품 목록을 magento로 받으려면 어떻게합니까?

나는 이러한 항목을 백엔드에 표시하는 데 사용되는 Mage_Adminhtml_Block_Sales_Order_Invoice_View_Items 개체에 액세스 할 수 있습니다.

이 개체를 사용하여 제품 skus 목록을 가져오고 이러한 항목의 순서를 바꿀 수있는 방법이 있습니까?

편집 :

다음 뷰에 표시 개체를 수집하는 것 코드의 라인입니다. 나는이 시점 이전에 정렬 된 항목을 얻을 필요가 거라고 상상 -

<?php $_items = $this->getInvoice()->getAllItems() ?> 

답변

0

당신이 시도 할 수 있습니다 :

$this->getInvoice()->getItemsCollection()->addAttributeToSort('sku', 'desc') 
+0

감사합니다. 그것은 객체의 실제 상태를 수정합니까? 원본 게시물에 인보이스 항목을 배열로 수집하는 템플릿에 줄을 추가했습니다. 바로 위에 줄을 추가해 보겠습니다. – wes

+0

효과가없는 것처럼 보였습니다. 좀 더 자세히 살펴 보겠습니다. – wes

+0

당신은 반복해야 할 컬렉션을 얻을 것입니다. 이것은 기존 컬렉션을 변경하지 않습니다. –

1

당신은 "sales_order_invoice_item_collection_load_before"이벤트 핸들러를 첨부해야한다. 이벤트에서 컬렉션 객체 가져 오기 및이 함수를 첨부하십시오.

$invoiceObject->addAttributeToSort('sku', 'desc') 
+0

고마워요. 나는 일반적으로 여기에 이벤트에 연결하는 방법을 설명하는 기사를 찾았습니다 : http://techportal.ibuildings.com/2010/04/20/writing-a-custom-magento-module/ -하지만 당신은 육체를 도울 것입니다. 실제 사례? – wes

관련 문제