Will man eine Unterkategorie anlegen, stellt man verwundert fest, dass die Funktion IPS_CreateCategory() keine Parameter aufnimmt. So kann man also auch keine ParentID angeben.
Folgender Aufruf ist daher gar nicht möglich:
$CatID = IPS_CreateCategory($ParentID);
Eine Kategorie wird immer nur unter ObjektID 0 angelegt.
Um dann doch eine Unterkategorie daraus zu machen muss folgender Befehl aufgerufen werden:
IPS_SetParent($CatID, $ParentID);
Wer sich allerdings in der Doku umsieht unter dem Thema Kategorieverwaltung wird dort keinen Hinweis auf IPS_SetParent() finden. Erst wenn man das Thema Objektverwaltung liest stösst man auf die nötigen Zusatzfunktionen.
Ich würde mir eigentlich wünschen, dass man den Konstruktor für IPS_CreateCategory erweitert um
- einen Parameter für die ParentID
- einen Parameter für den Namen der Kategorie
Dann hätte man:
$CatID = IPS_CreateCategory($ParentID, „Kategoriename“);
statt:
$CatID = IPS_CreateCategory();
IPS_SetName($CatID, „Kategoriename“);
IPS_SetParent($CatID, $ParentID);
Prinzipiell trifft das Beschriebene auf alle Objektarten zu, also z.B. auch auf Links oder Medien. Nur gerade bei Kategorien fällt es besonders ins Auge.
Auch wenn Ihr vielleicht nicht die IPS-Methoden anpassen wollt, so könnte man doch die Doku um entsprechende Hinweise und oder Beispiele erweitern. Das spart dem Anfänger Zeit, denn trotz aller Beispiel-Skripte im Forum ist die Doku doch erste Anlaufstelle für den Anfänger.