Sortierung im OXID eShop

Sortierung zurücksetzen

Aufgabe

Eine vom Kunden gesetzte Sortierung soll wieder zurückgesetzt werden können.

Lösung

Mit Hilfe eines OXID eShop-Moduls kann die Sortierung zurückgesetzt werden

Dazu ist es nötig die Methode getSorting in den Controllern alist, manufacturerlist und search zu überschreiben

<?php

..

public function getSorting($sSortIdent)
{
    $sortBy = oxRegistry::getConfig()->getRequestParameter($this->getSortOrderByParameterName());
    if ('none' === $sortBy) {
        $aSorting = oxRegistry::getSession()->getVariable('aSorting');
        unset($aSorting[$sSortIdent]);
        oxRegistry::getSession()->setVariable('aSorting', $aSorting);

        return null;
    }

    return parent::getSorting($sSortIdent);
}

Anschließend muss im entsprechenden Template (Flow-Theme: widget/locator/sort.tpl) ein weiterer Link mit dem Parameter listorderby=none hinzugefügt werden, mit dem die Sortierung zurück gesetzt werden kann.