Zum Inhalt springen

Menü mit bildern der Unterseiten

Erstellt am 4. Oktober 2006 · 1 Antwort · letzte Antwort am 18. Oktober 2006

Tags: Bilder, Frage

ger4003 ·

Folgendes Problem:

Ich habe eine Seitenstruktur die wie folgt aussieht:

- Hauptseite
--- Oberseite (hier ist das menü eingebettet)
------ Unterseite_1 (textpic)
------ Unterseite_2 (textpic)
------ Unterseite_3 (textpic)
------ Unterseite_4 (textpic)

Die Unterseiten sind jeweils von der Art "Text mit Bild".
Auf der Oberseite gibt es ein menü, welches auf die vier Unmterseiten verweist. Die Menüeinträge enthalten Text und Bild einthalten.
Der Text ist der Titel der Unterseite, das Bild ist das Bild welches auf der unterseite eingefügt wurde.

Nach mehrern Ansätzen habe ich es geschafft das Menü als Grafisches Menü darzustellen. Der Text stimmt auch, nur mit den Bildern habe ich probleme. Ein bild darzustellen was bei allen Menüpunkten gleich ist, kein problem. Aber das ander...?
Man muss dem Menu die uid der unterseite entlocken und dann in der tt_content tabelle den datensatz mit der entsprechenden pid (pageid) anprechen. Dann kommt man auch an das Bild ran. So zumindest mein Ansatz. Allerdings habe ich das bis jetzt nicht hinbekommen

Hier das script mit dem statischen Bild:

10.marks.INHALT {		
	10 = CONTENT
	10 {
		table = tt_content
		select.orderBy = sorting
		select.Where = colPos = 0
	}
		
	20 = HMENU
	20 {
		wrap = <divclass="teasermenu">|</div>
		special = directory
		special.value = 21
		1 = GMENU
		1.NO = 1
		1.NO {
			XY = 70, 70
			wrap = | 
				
			10 = TEXT
			10 {
				text.field = title
				fontFile = fileadmin/fonts/BLACKJAR.TTF					
				fontColor = #000000
				fontSize = 10
				niceText = 1
				offset = 15, 55
			}				
				
			20 = IMAGE
			20 {
				file = fileadmin/images/logo.gif
				file.width = 70				
				alttext = |
			}
								
		}
	}
}

Bin dankbar für jeden Tipp!

ger4003 ·

Nach langem hin und her und diversen versuchen mit Code-Schnipseln aus dem Forum habe ich es nun endlich hinbekomnmen.
Das ganze funktioniert ohne das HMENU Object. Im Grunde macht man das über ein verschachteltes CONTENT Object. Hier mal der Code:

10.marks.INHALT = COA
10.marks.INHALT {		
	10 = CONTENT
	10 {
		table = tt_content
		select {
			orderBy = sorting				
		}
	}
	
	30 = CONTENT
	30 {			
		table = pages
		select {
			orderBy = sorting
		}
		wrap = <div id="produktliste"><ul>|</ul></div>
		renderObj = COA
		renderObj {										
			wrap = <li>|</li>				
			
			10 = CONTENT
			10 {
				table = tt_content
				select{
					pidInList.field = uid
					where = CType = "textpic"
					orderBy = sorting					
				}				
				renderObj = COA
				renderObj {						
					10 = TEXT
					10.value = <a href="index.php?id=
					
					11 = TEXT
					11.field = pid
					
					15 = TEXT
					15.value = "><img src="uploads/pics/
					20 = TEXT
					20.field = image
					30 = TEXT
					30.value = " width="100" border="0" alt="" /></a>
				}
				
			}
			20 = TEXT
			20.field = title
			20.wrap = <strong><br />|</strong>
		}
	}	
}

Zuerst wird der gesamte Content (Tabelle "tt_content") der aktuellen Seite ausgegeben (Z 3-9)
Als nächstes wird auf die Tablle "pages" zugegriffen um von dort die pid (PageID) zu holen (Z 11-16). Mit dieser wird dann in der "tt_content" nach den passenden Datensätzen gesucht.
Mit dem renderObj wird definiert welcher Ihnalt ausgegeben werden soll.

Den Ansatz kann mach auch im O'Reilly TYPO3 Kochbuch auf den Seiten 477-480 nachlesen. Wer noch Fragen hat, einfach posten.