Einfache Flashmenüs mit TYPO3
Mit der Extension tox_xmlmenu ist es sehr einfach, die Daten der Seitenstruktur euerer Seite als XML-Datei darzustellen. Es gibt zwar schon ein paar Extensions die das erledigen können, aber ich konnte mich auf Grund der Komplexität und mangelnder Dokumentation weder mit ingmar_xmlmenu noch mit bf_xml_for_flash anfreunden - deshalb hab ich mich kurzerhand dazu entschlossen eine eigene und wesentlich einfachere Extension zu schreiben. Klar, man kann damit vielleicht weniger anstellen aber für ein einfaches Flashmenü reicht es vollkommen aus ohne, dass man erst zig Einstellungen vornehmen muss.
Was macht die Extension?
Die Erweiterung tox_xmlmenu ist keine Extension, die automatisch ein Flashmenü erzeugt, sondern lediglich die XML-Daten bereitstellt die dann von einer Flashdatei ausgelesen und dargestellt werden können! In der Tat ist das Schreiben des ActionScripts für eine solche Datei wohl der schwerste Teil an der ganzen Geschichte (ich werde dazu demnächst ein kleines Tutorial erstellen)... das erzeugen der XML-Daten ist dagegen ein Kinderspiel.
tox_xmlmenu funktioniert sehr einfach. Die Erweiterung ließt den kompletten Seitenbaum ab einer gewählten Seite aus und erzeugt daraus eine standardkonforme XML-Datei. Dabei wird lediglich auf die von TYPO3 vorgegebenen Funktionen zurückgegriffen - das hat den Vorteil, dass z.B. auch realurl unterstützt wird.
Installation
tox_xmlmenu kann in der rechten Spalte heruntergeladen werden. Wenn die Extension ihren Zuspruch findet werd ich diese vielleicht später mal ins TYPO3 Online-Repository laden. Bis dahin bitte einfach über den Extensionmanager hochladen und installieren.
Als erstes müsst ihr euch irgendwo in euerem Seitenbaum eine neue Seite anlegen. Diese Seite wird später nur noch die XML-Datei ausgeben, deshalb sollte der Haken bei "Im Menü verstecken" gesetzt sein. Außerdem ist es wichtig, dass der Haken bei "nicht cachen" gesetzt ist.
In dieser neuen Seite muss die Extension nun ausgeführt werden. Dazu legen wir uns ein neues Content-Element vom Typ "Sitemap" an.

- Sitemap wählen
Die Extension selbst integriert sich im Dropdownmenü "Menü Typ" und ist unter dem Namen "tox XML menu" zu finden. Anschließend kann der Ausgangspunkt gewählt werden. Das ist die Seite dessen Unterseiten dargestellt werden - für gewöhnlich wird hier die Root-Seite verwendet.

- Einstellungen für Sitemap
Hinweis:
Restliche Contentelemente, die sich auf der Seite befinden, auf der tox_xmlmenu eingebunden ist, werden nicht dargestellt. Das liegt daran, dass die Extension die Seitenstruktur der Seite außließt und nach dem Ausgeben sofort alle nachfolgenden Aktionen abbricht. Sind mehrere Content-Elemente vom Typ tox_xmlmenu auf der Seite so wird logischerweise nur das erste Element ausgegeben.
Konfiguration
Über die Page-ID kommt ihr nun an die soeben angelegte Seite und könnt - in der Hoffnung, dass alles funktioniert hat - die Standard XML-Struktur euerer Seite betrachten. Das sollte in etwas so aussehen.
Standardmäßig werden folgende Eigenschaften einer Seite dargestellt: "nav_hide, title, url, urltype, doktype". Diese Liste kann über TypoScript den eigenen Bedürfnissen angepasst werden, wobei "uid" und "link" (zwei essentielle Parameter) zusätzlich angezeigt werden und immer dargestellt werden. Als Werte der angezeigten Parameter sind alle Feldnamen gültig, die in euerer "pages" Tabelle der Datenbank vorhanden sind. Dabei sind auch Spalten gültig, die erst nachträglich durch andere Extensions hinzugefügt wurden! Ein einfaches Beispiel ändert die dargestellten Eigenschaften der XML-Datei so ab, dass die Seiten-ID, der Seitenlink, das Erstelldatum und die User-ID des Erstellers angezeigt werden:
plugin.tx_toxxmlmenu_pi1 {
displayValues = crdate, cruser_id
}
Bitte beachtet, dass uid und link nicht angegeben werden dürfen, da diese ohnehin immer angezeigt werden - andernfalls kommt es zu einem XML-Fehler wegen einer Doppeltnennung der Eigenschaft!
Ebenfalls über TypoScript lässt sich die Tiefe der Verschachtelung euerer Seitenstruktur einstellen. Standardmäßig ist der Recursive-Level auf 1 beschränkt. Hier ein Beispiel wie man sich 3 Ebenen ausgeben kann:
plugin.tx_toxxmlmenu_pi1 {
recursive = 3
}
Seiten die über das Backend ausgeblendet wurden werden prinzipiell nicht im Menü angezeigt. Allerdings gibt es ja noch die Option "Im Menü verstecken". Seit der Version 0.1.0 in tox_xmlmenu könnt ihr mit der Eigenschaft displayNav_hide festlegen, ob auch solche Menüpunkte in der XML-Datei berücksichtigt werden sollen:
plugin.tx_toxxmlmenu_pi1 {
displayNav_hide = 1
}
Standardmäßig werden versteckte Seiten nicht mit angezeigt. Bitte beachtet, dass nicht der Seitentyp auf "Nicht im Menü" umgestellt werden soll (wirkt sich nur auf den doktype aus) sondern wirklich die checkbox "Im Menü verstecken" angewählt ist.
Seit 0.1.1 lässt sich auch das encoding der XML-Seite anpassen. Um auf UTF-8 umzustellen reicht folgender code:
plugin.tx_toxxmlmenu_pi1 {
encoding = UTF-8
}
Das wars auch schon mit den Eistellungsmöglichkeiten. Wie gesagt - die Extension soll einfach und leicht zu bedienen sein. Vielleicht kann die Erweiterung ja dem ein oder anderen von euch behilflich sein. Lasst es mich wissen wenn ihr Verbesserungsvorschläge oder Ideen habt die die Extension verbessern können. Ich freu mich natürlich auch über konstruktive Kritik.
Flashmenue Tutorial
Mein erstes Flash-Tuturial zeigt euch, wie man die XML-Daten in Flash auslesen kann. Hier gehts zum Flashmenü Teil 1.
Versionstracker
0.0.1 alpha - Release
0.1.0 beta:
Die Eigenschaft displayNav_hide wurde eingeführt.
Statt hidden erscheint in der Standard-Werte Liste nav_hide, da hidden-Elemente ohnehin nicht angezeigt werden
0.1.1 beta:
Es wurde ein Problem mit der &-Zeichen gefixt. Über TypoScript kann nun auch das encoding verändert werden.















