Baumstrukturen anlegen

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.

Finde den Einwand gut. Wir werden die Beispiele bei entsprechenden Funktionen anpassen. Es ist ja normal, dass man den Namen und den parent eigentlich immer setzen will.

paresy

Die Doku-Fee war da und die Beispiele sind aktualisiert. :eek::loveips:

Grüße
Pio