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