Zum Inhalt springen

Button-Hintergrund dynamisch statt statisch

Erstellt am 29. August 2006 · 4 Antworten · letzte Antwort am 31. August 2006

Tags: Frage

MCQ ·

Im Normalfall ist es doch so, das wenn man ein Grafisches Menü erzeigt, wird eine Standart-Hintergrundgrafik geladen auf welche dann der Titel der Seite geschrieben wird. Nun möchte ich aber für jeden Button eine andere Hintergrundgrafik wählen.

Ein Beispiel:

- Der Button Startseite erhäft als Hintergrund grafik Button_Startseite.gif
- Der Button Seite1 erhält als Hintergrundgrafik Button_Seite1.gif

oder

- Der Button, welcher auf die Seite mit der Seiten-ID 39 verweisst erhält als Hintergrundgrafik Button39.gif
- Der Button, welcher auf die Seite mit der Seiten-ID 40 verweisst erhält als Hintergrundgrafik Button40.gif
- Der Button, welcher auf die Seite mit der Seiten-ID 41 verweisst erhält als Hintergrundgrafik Button41.gif

Ist das möglich? Wenn ja, wie?

Gruß MCQ

P.S.: Da ich mich erst seit Freitag mit Typo3 beschäftige habe ich in meinem Post mal davon abgesehen TypoScript für die Beispiele zu verwenden.

Unbekannter Benutzer ·

Also das ist vielleicht für den Anfänger ein bisschen viel Input, aber du willst es ja lernen #giggle#

Such mal nach levelmedia und benutze das was du findest für deine Hintergrundbilder.

Über das Feld levelmedia kannst du Mediendateien (in vielen Fällen Grafiken) die du in deinen Seiteneigenschaften (bei Seitentyp "Erweitert") hinterlegen kannst, ansprechen. So kannst du jeder Seite eine eigene Hintergrundgrafik verpassen.

Als Alternative kannst du dir hier:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Hmenu/Tmenu/Tmenuitem.html

mal subst_elementUid ansehen, damit könntest du sowas basteln wie:

file = fileadmin/menu_bg/button{elementUid}.gif

Musst dich halt entscheiden was für dich einfacher ist, bzw. für die Pflege besser...

Gruß

Christian

MCQ ·

Ich hab mich für die letzte Variante entschieden, allerdings gibt es dabei ein Problem. Aus irgendeinem Grund wird das

...wrap=|<img alt="{elementUid}" src="fil..

zwar durch

...wrap=|<img alt="32" src="fil..

ersetzt, aber in

10.file=fileadmin/template/portfolio/images/button{elementUid}.jpg

bleibt es unverändert.

Vielleicht hab ich ja einen Fehler drin, daher poste ich hier auch mal den kompletten Setup-Code:

page = PAGE
page.10 = TEMPLATE
page.10{
	template = FILE
	template.file = portfolio_template*.html
	
	workOnSubparts = DOCUMENT_BODY
	subparts.CONTENT < styles.content.get
	
	subparts.MAINMENU = HMENU
	subparts.MAINMENU.1 = GMENU
	subparts.MAINMENU.1.NO{
		subst_elementUid=1
		ATagTitle.field=title
		XY=[10.w],[10.h]
		10=IMAGE
		10.file=fileadmin/template/portfolio/images/button{elementUid}.jpg
		wrap=|<img alt="{elementUid}" src="fileadmin/template/portfolio/images/spacer.gif" width="53" height="1" />|*||<img src="fileadmin/template/portfolio/images/spacer.gif" width="53" height="1" alt="" />|*| |

		20=TEXT
		20.text = Seite {elementUid}
		20.fontSize=10
		20.offset=1,42
		20.align=center
	}

	subparts.MAINMENU.1.RO < subparts.MAINMENU.1.NO
	subparts.MAINMENU.1.RO = 1
	subparts.MAINMENU.1.RO{
		XY=[10.w],[10.h]
		10=IMAGE
		10.file=Startseite-over.jpg
		wrap=|<img src="fileadmin/template/portfolio/images/spacer.gif" width="53" height="1" alt="" />|*||<img src="fileadmin/template/portfolio/images/spacer.gif" width="53" height="1" alt="" />|*| |

		20=TEXT
		20.text.field=title
		20.fontSize=10
		20.offset=1,42
		20.align=center
	}
}

Bin für jede Hilfe sehr Dankbar

Gruß MCQ

MCQ ·

ich hab es jetzt doch mal mit der levelmedia-variante probiert, damit funktioniert es bestens. 😃

Unbekannter Benutzer ·

Aaahh, gut.

Ich hatte zu kurzsichtig gedacht. Die {elementUid} wird vor der Ausgabe im HTML-Code ersetzt, bei einem GMENU file wird das aber ja intern verarbeitet, d.h. da gehts so nicht. Man könnte zwar eine Lösung mit ähnlichem Prinzip über file.import und stdWrap bauen, aber levelmedia ist denke ich die bessere Variante.