Zum Inhalt springen

GMENU in spezieller Formatierung

Erstellt am 18. November 2006 · 5 Antworten · letzte Antwort am 18. November 2006

Tags: Frage

illuminatus.​berlin ·

hallo,

Ich habe folgendes Menu

lib.produktpreview = HMENU
lib.produktpreview{
	special = directory
	special.value = 92, 93, 94, 95, 96, 97, 98
	1 = TMENU
	1 {
		noBlur = 1
		expAll = 0
		wrap = <ul class="produktpreview">|</ul>
		NO {
			doNotLinkIt = 1
			doNotShowLink = 0
			
			stdWrap.cObject = TEXT
			stdWrap.cObject{
				field = title
				typolink.parameter.field = uid
				typolink.parameter.if.isTrue.field = user_showinpreview_check
				if.isTrue.field = user_showinpreview_check
				wrap = <li>|</li>
			}
		}
	}
}

Hierbei werden mir nur die Einträge angezeigt, die in den Seiteneigenschaften mit einer selbstgeschriebenen Extension eine Checkbox aktiviert haben.

Das klappt soweit prima!

Nun möchte ich aber gerne daraus ein GMENU machen, dass ebenfalls alle Menupunkte mit aktivierter Checkbox anzeigt, aber dann folgende HTML Formatierung erzeugt:

<ul class="produktpreview">
	<li>
		<a href="#">{title}<br />
		<img src="{media}" alt="Produktpreview {title}" /></a>
		{subtitle}
	</li>
</ul>

Die Bilder für das Menu sollen aus dem uploads/media Verzeichnis kommen und werden vorher jedem Menupunkt in den Seiteneigenschaften hinzu gefügt.
Der Text über dem Bild kommt aus dem Feld "title", der text unter dem Bild kommt aus dem Feld "subtitle".

Ich würde mich freuen, wenn Ihr eine Hilfe für mich hättet.

Liebe Grüße

Jesse

Unbekannter Benutzer ·

Hi,

habe gerade die PM gelesen, bin aber nur Mobil hier dran und kann nicht Chatten o.ä.

Also ich würde daraus kein GMENU machen sondern das TMENU erweitern und zwar so:

      lib.produktpreview = HMENU
      lib.produktpreview{
              special = directory
              special.value = 92, 93, 94, 95, 96, 97, 98
              1 = TMENU
              1 {
                      noBlur = 1
                      expAll = 0
                      wrap = <ul class="produktpreview">|</ul>
                      NO {
                              doNotLinkIt = 1
                              doNotShowLink = 0

                              stdWrap.cObject = TEXT
                               stdWrap.cObject{
field = title
if.isTrue.field = user_showinpreview_check
dataWrap = <li><a href="{page:uid}">|<img src="{page:media}" /></a>{page:subtitle}</li>
                              }
                      }
              }
      }

Hat vielleicht auch wieder etwas Überarbeitungsbedarf aber im Grunde sollte das so funktionieren...

illuminatus.​berlin ·

hey, danke für die schnelle Antwort.

Obwohl zumindest im Ersten angezeigten Element ein Bild eingetragen ist, bekomme ich folgendes Output.

<ul class="produktpreview">
	<li><a href="88">Pocket Scan<img src="" alt="" /></a></li>
	<li><a href="88">Mini-Patend<img src="" alt="" /></a></li>
	<li><a href="88">Patend Light 575 Basic<img src="" alt="" /></a>
	</li>
</ul>
Unbekannter Benutzer ·

ja ich war etwas zu schnell... Das muss natürlich ein bisschen anders aussehen, damit das Bild auch richtig ausgelesen wird...

      lib.produktpreview = HMENU
            lib.produktpreview{
                    special = directory
                    special.value = 92, 93, 94, 95, 96, 97, 98
                    1 = TMENU
                    1 {
                            noBlur = 1
                            expAll = 0
                            wrap = <ul class="produktpreview">|</ul>
                            NO {
                                    doNotLinkIt = 1
                                    doNotShowLink = 0
                                    stdWrap.cObject = TEXT
                                    stdWrap.cObject{
      data = levelmedia: -1
      field.listNum = 0
      if.isTrue.field = user_showinpreview_check
dataWrap = <li><a href="{field:uid}">{field:title}<img src="uploads/media/|" /></a>{field:subtitle}</li>
                                    }
                            }
                    }
            }
illuminatus.​berlin ·

okay, das sieht soweit schon besser aus. nur hab ich in der url immernoch nur eine uid stehen. muss ich das manuell auf index.php?uid={field:uid} ändern? oder gibt es dafür eine bessere lösung?

das Bild wird leider auch noch nicht angezeigt.

die html ausgabe:

<ul class="produktpreview">
	<li><a href="113">Pocket Scan<img src="uploads/media/" alt="" /></a>Text Text Text</li>
</ul>

Wie gesagt, das erste Produkt hat ein hochgeladenes Bild im Feld "Dateien" der Seiteneigenschaften.

Ansonsten klappt aber alles. Und danke für Deine Hilfe!

gruß
jesse

illuminatus.​berlin ·

Mit der ausgesprochen guten Hilfe von Kitsunet wurde das Problem gelöst.

Es ist zwar jetzt ein bisschen customized, es sollte aber erkennbar sein, wie zu verfahren ist.

#----------------------------------------------
# Dynamische Erzeugung Produktpreview
#----------------------------------------------
lib.produktpreview = HMENU
lib.produktpreview{
	special = directory
	special.value = 91
	1 = TMENU
  1 {
	  noBlur = 1
	  expAll = 1
		NO.doNotShowLink = 1
		NO.doNotLinkIt = 1
	}
  2 = TMENU
  2 {
	  noBlur = 1
	  expAll = 0
	  wrap = <ul class="produktpreview">|</ul>
		NO {
	    doNotLinkIt = 1
	    doNotShowLink = 0
           
			stdWrap.cObject = COA
			stdWrap.cObject{
				10 = COA
				10 {  
					10 = TEXT
					10.field = title
					10.wrap = |<br />
				
					20 = IMAGE
					20 {
						file.import = uploads/media/
						file.import.data = field:media
						file.import.listNum = 0 
						file.width = 50m
						file.height = 50
					
						altText.field = title
						params = 
					}
					
					stdWrap.typolink.parameter.field= uid
					
				}
				30 =TEXT
				30.field = subtitle
					
				stdWrap.if.isTrue.field = user_showinpreview_check
				stdWrap.wrap = <li>|</li>
			}
		}
	}
}