Benutzerdefinierte Sortierreihenfolge für die Abholung

7

Ich muss eine Sammlung basierend auf dem Feld "sort_order" anstelle von "id" sortieren, wie im Bild gezeigt. Geben Sie hier die Bildbeschreibung ein

$collection=Mage::getResourceModel('banners/manage_collection');
$collection->getSelect()->order('sort_order','DESC');

Und

Ich habe versucht , diese aber es ist immer wieder Kollektion basierend auf ID - Feld.

Blakcaps
quelle

Antworten:

20

Sie können diesen Code __constructnach dem Aufruf in die Methode Ihres Rasterblocks einfügen parent::__construct();:

$this->setDefaultSort('sort_order');
$this->setDefaultDir('ASC'); 

EDIT :
Für das Frontend können Sie Folgendes verwenden:

$collection = Mage::getResourceModel('banners/manage_collection');
$collection->setOrder('sort_order','DESC');
Marius
quelle
Ich muss die Elemente im Frontend basierend auf der Sortierreihenfolge anzeigen. Ich bin nicht sicher, ob der obige Code funktioniert.
Blakcaps
2
@ blakcaps. Dann sollten Sie das vielleicht in der Frage angeben. Sie haben einen Screenshot des Backends gepostet, also habe ich angenommen, Sie möchten die Standardsortierung im Backend nachsort_order
Marius
Die @ Sorti-Standardsortierung erfolgt basierend auf einer Spalte. In meinem Fall geht die erste Priorität auf den Status und das Änderungsdatum. Wenn es 5 aktive und 5 inaktive Spalten gibt, müssen alle 5 aktiven Datensätze zuerst kommen und früher geänderte sollten zuerst innerhalb dieser 5 stehen, dann müssen 5 inaktive zuletzt zuerst innerhalb von 5 geändert werden. Wie kann ich das tun?
Schmetterling