Zum Inhalt springen

Menü per Extension erstellen

Erstellt am 6. Januar 2010 · 1 Antwort · letzte Antwort am 7. Januar 2010

Tags: Frage

cuSoon ·

Hallo zusammen,

ich versuche gerade ein Menü in einer eigenen Ext auszugeben. Versuche es so, aber es tut sich nix...

function main($content, $conf) {
        $this->conf = $conf;
        $this->pi_setPiVarDefaults();
        $this->pi_loadLL();
        $this->pi_USER_INT_obj = 1;    // Configuring so caching is not expected. This value means that no cHash params are ever set. We do this, because it's a USER_INT object!
        
        
        
        $menu["menu"] = 'HMENU';
        $menu["menu."]["special"] = 'directory';
        $menu["menu."]["special."]["value"] = '57';
        $menu["menu."]["entryLevel"] = '1';
        $menu["menu."]["1"] = 'TMENU';
        $menu["menu."]["1."]["NO"] = '1';
        $menu["menu."]["1."]["NO."]["linkWrap"] = ' | | |*|  | | |*|  |';
        $menu["menu."]["1."]["NO."]["ATagParams"] = 'class="toplinks"';
        
        $content = $this->cObj->HMENU($menu);
    
        //return $this->pi_wrapInBaseClass($content);
        return $content;
    }
}

Bin ich auf dem richtigen Weg?

Danke schon mal 🙂

Julian.​Hofmann ·

Hallo.

cuSoon schrieb

Bin ich auf dem richtigen Weg?

Nicht mehr ganz. Als Konfiguration baust Du ein Typoscript-Objekt zusammen, übergibt dieses dann aber direkt an die HMENU-Funktion - die aber nur eine Menükonfiguration erwartet.

Lösung:
a) Deine Konfiguration als TS auswerten lassen
oder
b) die ["menu"]-Ebene aus der Konfiguration herausnehmen. Die HMENU-Funktionw eiß ja schon, dass sie ein Menüerzeugen soll und nur entsprechende Infos bekommt.

Oft hilft es hinsichtlich falscher/richtiger Parameter einfach mal in den Core-Code zu schauen: http://www.typo3-unleashed.net/typo3apidocs/latest/db/d97/class_8tslib__content_8php_source.html#l01471 Dort siehst Du dann, dass nie auf $conf["menu"] zugegriffen wird, sondern nur auf $conf.

Viele Grüße
Julian