Das Zend_Navigation Menü funktioniert mit jQuery's Fisheye

Ich benutze Zend_Navigation (süße Ergänzung zum Framework, nebenbei), um mein Menü zu erstellen, wonach es auf der Seite (selbstverständlich) gerendert werden sollte. Ich habe zuerst den Container irgendwo im Controller gesetzt:

// $pages is the array containing all page information
$nav = new Zend_Navigation($pages);
$this->view->navigation($nav);

Dann wird es im Layout so gerendert:

echo $this->navigation()->menu();

was perfekt funktioniert. Nun: Ich möchte, dass das Menü ein wenig anders gerendert wird. Die Seite, die ich baue, verwendet die jQueryFisheye-Plugin um ein Mac-ähnliches Dock-Menü zu erstellen. Dieses Plugin benötigt jedoch ein bestimmtes Markup ...

Eigentlich braucht es eine Liste von<a> Elemente, die beides enthalten<img> (für das Symbol) und a<span> (für den Tooltip). Der Standard-Menü-Ansichtshelfer rendert alles in einer ungeordneten Liste (logisch) mit dem'label' Parameter als Verknüpfungstext.

Es scheint, dass der Inhalt an die'label' Der Parameter wird vor dem Rendern mit einem Escapezeichen versehen, sodass das Einfügen des HTML-Codes hier nichts nützt. Außerdem scheint das Fisheye normalerweise nicht die in a enthaltenen Gegenstände aufzunehmen<li> Tag, mit der ganzen Sache eingewickelt<ul></ul>, aber nur eine einstufige Liste von<a> Elemente.

Ich dachte darüber nach, einen benutzerdefinierten Ansichtshelfer für das Dock zu schreiben, der sich um das Einfügen des kümmern könnte<img> und das<span>Es fällt mir jedoch sehr schwer, einen benutzerdefinierten Ansichtshelfer an die Navigationsklasse anzuhängen. Ich kann einfach nicht herausfinden, wo und auf welche Weise ich es platzieren soll, obwohl alle meine anderen benutzerdefinierten Klassen (Modelle und dergleichen) vom Autoloader liebevoll behandelt werden. Irgendwelche Ideen dazu?

Andererseits, auch wenn ich diesen View-Helfer zum Laufen bringen kann, habe ich immer noch die ungeordnete HTML-Liste - ich weiß, dass ich diese mit dem benutzerdefinierten View-Helfer auch verlieren kann, aber ich war schon immer ein Fan von Main Navigationsmenüs innerhalb einer Liste, der Semantik halber.

Wenn mir jemand ein wenig helfen kann, würde ich es sehr schätzen. Wenn das Fisheye einfach nicht zum Arbeiten gedacht ist<ul>'s, das wäre zu schade ... gäbe es in diesem Fall einen guten Grund, Zend_Navigation insgesamt zu verlieren?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage