Neu Kategorien gleicher Ebene auf Kategorieseiten ausgeben

  • Wenn Ihr uns das erste Mal besucht, lest euch bitte zuerst die Foren-Regeln durch.

mxh

Neues Mitglied
10. Januar 2018
14
0
#1
Hallo,

es existiert ja bereits die Option Unterkategorien auf Kategorieseiten anzuzeigen (Einstellung #282). Wir haben nun eine erweiterte Anforderung, mit der wir nicht so recht weiterkommen:
Auf Kategorieseiten der untersten Ebene, wo logischerweise keine Unterkategorien mehr angezeigt werden können, sollen stattdessen Kategorien gleicher Ebene (sozusagen Schwesterkategorien) ausgegeben werden.

Die einzige Lösung die wir bisher finden konnten führt über die Verwendung von "$AktuelleKategorie->kOberKategorie" zur Ermittlung der ID der Oberkategorie und eine darauf folgende Datenbankabfrage, was mir im Hinblick auf die Anforderung jedoch aufwändig erscheint.

Wir verwenden Shop 4.06 und ein Child von Evo und Programmierkenntnisse sind existent :)

Besten Dank
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
624
47
Halle (Saale)
#2
Der Ansatz ist mMn schon richtig so und die nötigen Daten stellt der KategorieHelper alle bereit:
Code:
if (!$AktuelleKategorie->bUnterKategorien && $AktuelleKategorie->kOberKategorie > 0) {
    $helper = KategorieHelper::getInstance();
    $cat    = $helper->getCategoryById($AktuelleKategorie->kOberKategorie);
    if ($cat !== false) {
        $sub = $cat->Unterkategorien;
        foreach ($sub as $cat) {
            if ($cat->kKategorie == $AktuelleKategorie->kKategorie) {
                continue;
            }
            Shop::dbg($cat->cName);
        }
    }
}
 

mxh

Neues Mitglied
10. Januar 2018
14
0
#3
Hey @FMoche , danke für deine Antwort, das hat auf Anhieb geklappt! :)
Generell hab ich mich gefragt ob sowas denn irgendwo dokumentiert ist, eine Klasse wie den Kategoriehelper hatte ich nämlich verzweifelt gesucht...

Besten Dank