[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Was ist die Ersetzung für isRootCategory() aus Rex4 ?
Seite 1 von 1

Was ist die Ersetzung für isRootCategory() aus Rex4 ?

Verfasst: 28. Feb 2018, 12:06
von iceman-fx
Hallo Leute,

ich setze gerade alle meine Module von Rex4 auf Rex5 um.
Aktuell stoße ich dabei auf ein Problem mit einer Rex4.-Abfrage bzgl. isRootCategory().

Wie muss ich es für Rex5 umschreiben, wenn ich prüfen möchte, ob die Kategorie eine Rootkategorie ist?

Code aus Rex4:

Code: Alles auswählen

foreach(OOMediaCategory::getRootCategories() as $cat):
     if ($cat->isRootCategory()) { 
          machwas(); 
     }
endforeach;

Re: Was ist die Ersetzung für isRootCategory() aus Rex4 ?

Verfasst: 28. Feb 2018, 13:25
von Ingo
In deinem Beispiel holst du dir erst alle Rootkategorien und überprüfst dann, obs Rootkategorien sind. Ist wenig sinnvoll...
https://redaxo.org/doku/master/aenderungen-v4-v5

Re: Was ist die Ersetzung für isRootCategory() aus Rex4 ?

Verfasst: 28. Feb 2018, 13:38
von iceman-fx
Deine Aussage ist nicht richtig. Es ist schon sinnvoll.

Ja, ich beginne bei den Rootkategorien, hangle mich dann aber immer tiefer zu allen Kindselementen durch.
Da dies in einer Rekursion erfolgt (der Beispielcode ist vereinfacht), muss ich schon auf die Rootkategorien prüfen können, wenn ich z.B. eine spezielle Einrückung haben möchte.

Unabhängig ob sinnvoll oder nicht, die Frage ist/war doch: Wie setze ich dies in REX5 um.

In der Doku mit den Änderungen steht dazu leider nichts drin, sonst hätte ich ja hier nicht gefragt.

Re: Was ist die Ersetzung für isRootCategory() aus Rex4 ?

Verfasst: 28. Feb 2018, 17:01
von Ingo
Meine Aussage ist richtig, dein Beispiel ist Blödsinn. Unabhängig davon: guck in die Methode isRootCategory() rein, da wird dir geholfen.