Popup in Menüs
Manchmal ist es gewünscht popups direkt aus dem Menü zu öffnen.
Dies ist mit default Menüs so nicht möglich. Es gibt zwei Varianten:
- Extension installieren, welche das Verhalten modifiziert. Diese Extension kommen aber meist mit einer XCLASS und somit gibts es Kompatibilitätsprobleme
- Ändern der Menüdefinition, dies wird hier beschrieben.
Menudefinition für Popups
#define temporär objects for typolink to page, # depending on pagesettings temp.popupLinkTypolink { title.field=title parameter.cObject=CASE parameter.cObject { key.field=tx_pageaspopup_aspopup default=TEXT default.field=uid default.target.field=target 1=TEXT 1.value={field:uid} {field:tx_pageaspopup_popupdimension}:{field:tx_pageaspopup_popupparams} 1.insertData=1 } } temp.menuPopupLinkStdWrap { doNotLinkIt=1 stdWrap.typolink<temp.popupLinkTypolink } # example use: lib.main-nav = HMENU lib.main-nav.wrap = <ul id="main-nav" class="menu-h">|</ul> lib.main-nav { entryLevel = 0 1 = TMENU 1 { NO < temp.menuPopupLinkStdWrap NO { allWrap = <li>|</li> stdWrap.htmlSpecialChars = 1 } ACT < .NO ACT = 1 ACT { allWrap = <li class="active">|</li> } } }
Erklärungen
In dem Menü wird die Linkerzeugung abgeschaltet (doNotLinkIt) und stattdessen ein eigener typolink definiert. Dabei wird mit einem CASE Object entschieden ob ein popup erzegt werden soll oder nicht.
Im Beispiel wird dazu ein Feld aus dem Pageheader ausgelesen und auch die Information für das target (=dimension des popups) kommt aus den Seiteneigenschaften.
Die neuen Felder können mit einer simplen Extension hinzugefügt werden.
Extension page_as_popup herunterladen.
