Sortierung der Herstellerliste für Slider auf Startseite anpassen

Hallo,

ich habe nun schon eine ganze Weile gesucht, komme aber leider zu keinem Ergebnis. Ich möchte auf der Startseite den Hersteller Slider in der Sortierung anpassen.

In der Datei (aktuell nur im Quelltext, es wird im Anschluss noch in ein Modul gepackt) oxmanufacturerlist.php habe ich die Funktion loadManufacturerList zu loadManufacturerList2 kopiert. Die sieht dann so aus:

public function loadManufacturerList2()
    {
        $oBaseObject = $this->getBaseObject();

        $sFieldList = $oBaseObject->getSelectFields();
        $sViewName = $oBaseObject->getViewName();
        $this->getBaseObject()->setShowArticleCnt($this->_blShowManufacturerArticleCnt);

        $sWhere = '';
        if (!$this->isAdmin()) {
            $sWhere = $oBaseObject->getSqlActiveSnippet();
            $sWhere = $sWhere ? " where $sWhere and " : ' where ';
            $sWhere .= "{$sViewName}.oxtitle != '' ";
        }

        //$sSelect = "select {$sFieldList} from {$sViewName} {$sWhere} order by {$sViewName}.oxtitle";
        $sSelect = "select {$sFieldList} from {$sViewName} {$sWhere} order by rand()";
        $this->selectString($sSelect);
    }

Leider kann ich diese Funktion nicht ansprechen. In der Datei manufacturersslider.tpl wird die foreach Schleife mit getManufacturerForSlider bzw. getManufacturerlist angesprochen.
Eine Verbindung zwischen diesen Funktionen kann ich aber nicht finden. Wenn ich die Ausgangsfunktion loadManufacturerList direkt ändere, werden die Hersteller per Zufall sortiert.
Das Problem ist, dass die Anzeige im Header alphabetisch sortiert werden soll, die im Slider aber eben per Zufall.

Habt ihr eine Idee, wo ich suchen kann?

Vielen Dank im Voraus.
Viele Grüße, Thomas

Hallo,
das Modul hier sortiert alle Hersteller nach Artikelanzahl. Abgesehen werden Hersteller ohne Artikel nicht eingeblendet. Auch Herstellerliste im Fußbereich wird richtig sortiert:

[B]Modul Herstellerliste[/B]

Grüße
Rafig

[QUOTE=tosam;178332]
Leider kann ich diese Funktion nicht ansprechen.[/QUOTE]
Du must doch nur zurückverfolgen:
cl oxcmp_categories init

//$this->_loadManufacturerTree($sActManufacturer);
$this->_loadManufacturerTree2($sActManufacturer);

Neue Methode: _loadManufacturerTree2

darin:

//$oManufacturerTree->buildManufacturerTree('manufacturerlist', $sActManufacturer, $shopHomeURL);
$oManufacturerTree->buildManufacturerTree2('manufacturerlist', $sActManufacturer, $shopHomeURL);

cl oxManufacturerList
Neue Methode: buildManufacturerTree2

darin:

//$this->loadManufacturerList();
$this->loadManufacturerList2();

-> Deine Methode (Funktion) loadManufacturerList2

Hallo, vielen Dank für die Antwort.

Mit den Änderungen ist die Funktion “loadManufacturerList2” ansprechbar, sehr gut. Das eigentliche Problem ist aber, dass ich diese Funktion zweimal benötige, einmal loadManufacturerList und einmal loadManufacturerList2, also die Hersteller einmal alphabetisch geordnet für den Headerbereich und einmal per Zufall für den Hersteller Slider.

Gibt es da eine Möglichkeit?

Vielen Dank im Voraus
Viele Grüße Thomas

Die greifen beiden auf getManufacturerlist() zu. Entsprechend müsstest Du da ansetzen und differenzieren. Einfach mal schauen, wo

$this->_aManufacturerlist;

gebildet wird.