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.
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
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
ich hab es jetzt doch mal mit der levelmedia-variante probiert, damit funktioniert es bestens. 😃
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.