Die Klasse ToFolksMenuItem

Objekte vom Typ ToFolksMenuItem ermöglichen den direkten Zugriff auf die Einstellungen und Dokumente von Menü-Items. Das aktuelle Menü-Item bekommen Sie z.B. über die Eigenschaft $toFolks->selectedMenuItem ausgelesen.

Eigenschaften:

  • title
    Der Titel des Menü-Items.  Um auszeichnende Zeichen zu wandeln, müssen Sie die PHP Funktion htmlspecialchars() benutzen.
  • id
    Die ID des Menü-Items in der Datenbank.
  • selected
    true: Dieses Menü-Item ist das selektierte Menü-Items (es stimmt also mit $toFolks->selectedMenuItem überein).
    false: Dieses Menü-Items ist nicht das selektierte Menü-Item.
  • parentMenuItem
    Wenn dieses Menü-Item nicht auf der ersten Ebene der Menü-Hierarchie liegt, birgt diese Eigenschaft das Eltern-Item als ToFolksMenuItem, ansonsten ist es null.
  • parentId
    Nahezu identisch mit parentMenuItem, nur dass hier nur die ID des Eltern-Items zu haben ist - oder null.
  • menuId
    Die ID des Menüs, zu dem das Item gehört
  • subitems
    Ein Array mit allen Kind-Items dieses Menü-Items vom Typ ToFolksMenuItem.
  • isVisible
    true: Dieses Menü-Item soll angezeigt werden.
    false: Dieses Menü-Item soll nicht angezeigt werden.
    Die Frage liegt nah: Warum sollen sich nicht sichtbare Menü-Items überhaupt in der Liste befinden? Im Gegensatz zu nicht publizierten Dokumenten, können Menü-Items über die URL immer angezeigt werden. Mit dieser Technik können z.B. Menü-Items erstellt werden, unter denen ein Suchergebnis angezeigt wird, die aber selber nie in der Navigation des Webauftritts erscheinen sollen.
  • isHomepage
    true: Das Menü-Item ist die Homepage.
    false: Das Menü-Item ist nicht die Homepage.
  • isListView
    true: das Menü Item stellt eine Liste dar. Der Dateiname lautet index.<DokumentExtension>.
    false: das Menü Item stellt den Inhalt des ersten zugehörigen und publizierten Dokuments dar.
  • selectFirstSubitem
    true: Das Menü-Item stellt selber keine Inhalte dar. Es stellt stattdessen die Inhalte des ersten sichtbaren Child-Item dar.
    false: Das Menü-Item stellt eigene Inhalte dar.
  • urlSnippet
    Hier findet sich das URL Segment des Menü-Items.
  • url
    Die URL des Menü-Items. Steht die Eigenschaft isListView auf true, dann setzt sich die URL nur aus dem Pfad zum Menü-Item über die Hierarchie des Menü-Baumes zusammen (von Aushahmen wie Homepage oder absoluten URL Snippets abgesehen). Handelt es sich bei diesem Menü-Item nicht um eine Listendarstellung, so wird dieser Pfad noch um den URL-Snippet des anzuzeigenden Dokuments incl. Dateiendung (wie im den globalen Einstellungen eingestellt) erweitert.
  • modules
    Hier findet sich ein Array von Typ ToFolksModul mit allen Modulen, die dem Menü-Items zugeordnet sind.
  • parameters
    Dieses assoziative Array bietet Zugriff auf die erweiterten Parameter des Menü-Items. Für jedes Menü-Item kann ein wiederverwendbares Parameter-Set definiert werden. Wird z.B. innerhalb des Parameter-Sets ein Property headpicture vom Typ picture definiert, so kann das zugehörige ToFolksPicture - Objekt folgendermaßen ausgelesen werden:

    $picture = $toFolks->selectedMenuItem->parameters["headpicture"][0];
    echo $picture->pictureTag; // Liefert ein komplettes img-TAG zurück...
  • numberOfDocuments
    Hier bekommen Sie die Anzahl der unter diesem Menü-Items liegenden publizierten Dokumente zurück.
  • selectedPage
    Liefert Ihnen im Falle der Pagination einer Listendarstellung die aktuelle Seite zurück.

Methoden:

  • array(ToFolksDocument) GetDocuments()
    Liefert ein Array mit den publizierten Dokumenten dieses Menü-Items zurück.
  • array(ToFolksDocument) GetRangeOfDocuments(int <start>, int <count>)
    Liefert ein Array mit einem Ausschnitt der publizierten Dokumente dieses Menü-Items zurück. Beginnen mit <start>, werden <count> Dokumente zurückgeliefert (falls entsprechend viele Dokumente gefunden werden). 
  • string GetPagination(int <maxItemsPerPage>, int <maxVisiblePageNumbers>, string <textFirst>, string <textPrevious>, string <textNext>, string <textLast>, string <separator>)
    Liefert eine Pagination für die publizierten Dokumente des Menü Items zurück.
    <maxItemsPerPage>: die maximale Anzahl von Dokumenten pro Seite
    <maxVisiblePageNumbers>: die maximale Anzahl angezeigter Seitennummern
    <textFirst>: Text für den Rewind zum ersten Dokument (wenn leer, dann keine Anzeige)
    <textPrevious>: Text für den Rewind zum vorhergehenden Dokument (wenn leer, keine Anzeige)
    <textNext>: Text für den Vorlauf zum nächsten Dokument (wenn leer, keine Anzeige)
    <textLast>: Text für den Sprung zum letzen Dokument (wenn leer, keine Anzeige)
    <separator>: Text für den Separator zwischen den Seitenzahlen