Von Hause aus unterstützt Netobjects Fusion keine DropDown Menüs, also muss man ihm solche Feinheiten irgendwie beibiegen.
Mein Startpunkt war ein CSS Menügenerator älterer Bauart, der von seinem Entwickler auf WonderWebWare kostenfrei zur Verfügung gestellt wird. Das Tool funktioniert und erzeugt CSS und HTML Code, der zusammen genommen ein horizontales DropDown Menü auf die Seite zaubert.
Einziger Nachteil: Teile der Benutzeroberfläche des Generators sind nicht frei vergrößerbar und es gibt keine Import-Option für die vorhandenen Seitentitel und deren Orientierung zueinander. Will heißen, man muss den Status Quo der Seite manuell eingeben und bei Änderungen entsprechend die Stelle suchen, wo die neue Seite eingefügt werden soll. Das Ganze in einem Fensterchen mit gefühlt 30 Zeichen Breite...
Kein Spaß, versprochen, erst recht nicht bei damals fast 200 Seiten.
Trotzdem habe ich dem Tool eine Chance gegeben. Ich weiß nicht mehr, auf welche Weise ich die im Bild oben sichtbaren Seitentitel ins Programm gebracht habe - wie ich mich kenne, habe ich entweder eine teilautomatisierte Eingabe mittels AutoHotkey realisiert oder die Datenablage des Tools analysiert und die Datenbank mittels Excel generieren lassen. Auf jeden Fall hat das Programm danach fast passenden CSS Code ausgespuckt, den ich leicht geändert und erweitert später verwenden konnte. Den ebenfalls erzeugten HTML Code habe ich verworfen und mittels einer umfangreichen Excel Tabelle selbst erzeugt.
Als Eingangsparameter für meine Excel Tabelle habe ich das Ergebnis des von NOF als Plugin zur Verfügung gestellten Applets Site Map Generator in Form der Datei Sitemapper.html verwendet. In der HTML Datei liegen die Seitentitel in einem langen String in Klartext vor, mit über die vorangestellte Anzahl Rauten (#) gelieferter Informationen zur Einrückebene der jeweiligen Seite.
Im Bild habe ich zur besseren Übersicht Zeilenumbrüche vor jeder Seite eingefügt und alles außer den ersten fünf Seiten gelöscht. Im richtigen Leben besteht der Seiteninhalt aus einem zur Zeit ca. 11 kB langen String. Die mittlere Zeile document.write im nachfolgenden Bild ist 11042 Zeichen lang.
Zuerst wird also die Seite mit dem Site Map Plugin in NOF lokal publiziert, es wird die Seite Sitemapper.html erzeugt. In Excel startet auf Knopfdruck ein VBA Skript, das diese HTML Seite einliest, aufdröselt und die einzelnen Seitentitel in einer Zeile der Exceltabelle ablegt. Die Seitentitel werden dann per Transponieren Funktion in einer Spalte ablegt, ein weiterer Knopfdruck kopiert diese resultierende Spalte in die eigentliche Zieltabelle.
Ab hier schlagen dann Formeln zu und stricken daraus das Menü-Gerüst aus list Elementen, mit und ohne Child-Elementen (“li_hc” bzw. “li_nc”) sowie dem zugehörigen Link und dem Seitentitel.
Nebenher werden Substitutionen der Seitentitel vorgenommen, beispielsweise, wenn der originale Seitentitel zu breit für die letztendliche Darstellung im Menü wäre. Dazu wird eine Liste mit Einträgen der Substitutionen abgearbeitet.
Eine weitere Liste bestimmt, welche Seiten nicht mit in das Menü aufgenommen werden sollen, hierzu zählen z.B. explizit auf Englisch erstellte Seiten, die über einen Link innerhalb der deutschen Seite aufgerufen werden können.
Zuletzt existiert eine Tabelle mit Zeichen, die die Darstellung von Sonderzeichen innerhalb von Seitentiteln im Menü erlauben. Hierzu zählen beispielsweise die deutschen Umlaute. Diese müssen in Unicode HTML Syntax im Code für das Menü eingetragen werden.
Dann werden noch kleine Dreiecke ins Menü eingefügt, die anzeigen, ob untergeordnete Seiten zur aktuellen Seite vorhanden sind. Außerdem wird für die Suchen Funktion das Lupensymbol ins Menü eingebaut.
Wenn das alles abgearbeitet ist (mittels des zweiten Knopfdrucks ;) müssen noch die beiden HTML Dateien erzeugt werden, die letztlich für die Home Seite und alle anderen Seiten der WEB Präsenz in NOF eingezogen werden müssen. Zwei unterschiedliche Seiten, weil NOF die Home Seite direkt in der Root der WEB Präsenz ablegt, alle anderen Seiten aber im Unterordner /html/. Die Links auf die Seiten sind also jeweils unterschiedlich aufgebaut.
Anfangs habe ich dann den Inhalt dieser beiden Dateien in NOF im HTML Editor des Masterrahmens jeder Seite manuell einfügen müssen, wobei zum Glück nur insgesamt 4 unterschiedliche Masterrahmen vorhanden sind.
Später habe ich die Formeln in meiner Excel Tabelle so abgeändert, dass der HTML Code für das Menü als Variable in einer JavaScript Datei quasi inkludiert werden kann, die beiden Dateien werden also nur noch auf dem Server publiziert, der passende Code in den HTML Seiten zieht die Änderung dann in alle Seite automatisch ein.
Bis hier eigentlich alles handhabbar, wären da nicht NOF, Microsoft und Java involviert...
NOF ist eine 32-bit Applikation. Noch unterstützt Microsoft den Generator, ich habe aber schon mehrere 32-bit Tools ausgeknipst bekommen, weil sie von Windows einfach nicht mehr ausgeführt werden.
Java muss also mindestens zusätzlich in der 32-bit Variante installiert sein. Die Parallelinstallation von Java 32 und Java 64 ist möglich und unterstützt. Kein Problem.
Allerdings werden sogenannte Java Applets zuletzt in der Version 8.341 von Java unterstützt, nachfolgende Versionen verhindern, dass das NOF Sitemapper Applet die HTML Seite erzeugt. Leider ohne Hinweis :(
Es hat geraume Zeit gedauert, bis mir aufgefallen ist, dass neu erstellte Seiten nicht im Menü auftauchen. Die Version 8.341 habe ich in langen Versuchsreihen herausgetestet.
Nicht genug damit, benötigt ein anderes von mir häufig eingesetztes Tool die 64-bit Variante von Java. Java versucht sich ja netterweise immer aktuell zu halten, installiert also auf Nachfrage die jeweils neueste Version. Dabei wird auch gerne eine eventuelle ältere Version deinstalliert, passt man nicht auf. So ist dann auch mal die damals aktuelle Version 8.371 der 32-bit Variante auf meinem Rechner gelandet. Die bewirkte, dass der Versuch eines Upload der geänderten Site mit der Fehlermeldung “JDK nicht installiert” abgebrochen wurde und nur das bloße Öffnen der Seite mit dem Sitemapper Plugin in NOF zum Absturz des kompletten Generators führte. Panik war angesagt, aber die geduldige Analyse der Abfolge von Aktualisierungen meines Rechners in letzter Zeit brachte mich zu der Einsicht: Wieder nur eine neue Version von Java mit weiteren Einschränkungen.
Letzte Erkenntnis in diesem Zusammenhang: Die aktuellste Version von Java 64-bit für das andere Tool parallel zur erlaubten 32-bit Version 8.341 für NOF funktioniert nicht.
Es muss die Version 8.341 in 32-bit und 64-bit installiert sein.