Hallo ich habe auf der Seite http://p110978.typo3server.info/2.0.html vor eine Übersicht aller Projekte der Künstlerin zu machen. Dazu habe ich ein GMENU mit dem Marker ###PROJEKTE### erstellt, das den Ordner Projekte ausliest.
page = PAGE
page.typeNum = 0
page.config.metaCharset = utf-8
page.10 = TEMPLATE
page {
10.template = FILE
10.template.file = fileadmin/projekte_index.html
workOnSubpart = DOKUMENT
stylesheet = fileadmin/include/style.css
10.marks {
##################################
# Navigation Projekte
##################################
PROJEKTE = HMENU
PROJEKTE {
special = directory
special.value = 2
1 = GMENU
1.NO = 2
1.NO {
XY = 350 , 18+[16.h]
backColor = #FFFFFF
wrap = <br />
10 = TEXT
10.text.field = title
10.text.listNum = 0
10.text.listNum.splitChar = |
10.fontColor = #000000
10.fontFile = fileadmin/font/MYRIADAM.ttf
10.align = left
10.fontSize = 13
10.niceText = 1
10.offset = 0, 15
# Eine ggf. vorhandene zweite Textzeile
15 < .10
15.text.listNum = 1
15.fontColor = #000000
15.offset = 0, 30
# Hilfsebene zur Berechnung der Höhe von Menüpunkten
16 < .10
16.text.case = upper
16.text.listNum = 1
16.fontSize = 18
16.offset = 1000,1000
#wrap = |<br />
}
# Roll over Ebene 1
1.RO < .1.NO
1.RO.10.fontColor = #00a6eb
1.RO.15.fontColor = #00a6eb
1.CUR < .1.NO
1.CUR.10.fontColor = #00a6eb
1.CUR.15.fontColor = #00a6eb
1.CUR.10.offset = 12, 16
}
Nun möchte ich beim Rollover des Menüs rechts jeweils ein Bild zeigen, das zu dem Projekt gehört. Das Bild wird unter "Ressourcen" bei den Seiteneigenschaften der einzelnen Projektseiten angelegt
Für das Bild habe ich den Marker ###THUMB### ins Template geschrieben.
Meine Frage ist nun, wie ich die beiden Elemente verbunden bekommen. Hat da jemand einen Ansatz für mich??
Liebe Grüße
Marc
Hallo...
1.NO = 2
Gibts es nicht. Ein Menüzustand wird entweder mit 0 deaktiviert, oder mit 1 aktiviert. Da du also NO einen Wert gegeben hast, der nicht existiert, ist NO zwar dennoch aktiviert, weil das per default so ist, aber RO wird nurch das kopieren von 1.NO nicht aktiviert, kann also schonmal nicht funktionieren. Das heißt es muss schonmal 1.NO = 1 heißen, wenn du kopierst, oder eben im Bereich RO RO = 1 um RO zu aktivieren. Das gilt für alle Menüzustände die du verwenden willst.
Wenn das Bild nun in einem Mediafeld der Seiteneigenaschafgten liegt, dann brauchst du eigentlich keinen weiteren Marker in deinem Template. Das würde ja bedeuten, dass das Bild nicht beim RO sondern ständig vor deinem Menü gezeigt würde.
Du baust also das "holen" des Bildes direkt in dein Menü ein und zwar in die Ebnene in der du es benötigst. Das Bild kannst du zum Beispiel so aus dem Mediafeld holen:
...
RO = 1
RO {
before {
cObject = IMAGE
cObject {
file {
import = uploads/media/
import {
listNum = 0
override.field = media
}
}
}
}
}
...
Was mir allerdings überhaupt nicht einleuchtet, ist die Tatsache, dass du da ein GMENU verwendest. Das alles kannst du wesentlich besser mit einem TMENU erstellen. Das Bild setzt du dann per CSS davor. Das hat eine Menge Vorteile gegenüber einem GMENU. Wesentlich schlankeres Menü, Das Menü wird auch ohne JavaScript gezeigt. Das Menü wird auch gezeigt, wenn der Surfer Bilder abgeschaltet hat. Das Menü ist Barierefrei. Das ganze mit einem CSS-Formatierten List-Menü und du bist alle Sorgen los.
Hallo, das mit dem TMENU überzeugt. ich habe es mal umgestellt
##################################
# Navigation Projekte
##################################
PROJEKTE = HMENU
PROJEKTE {
special = directory
special.value = 2
1 = TMENU
1.NO = 1
1.NO.linkWrap = |</br>
1.RO = 1
1.RO {
before {
cObject = IMAGE
cObject {
file {
import = uploads/media/
import {
listNum = 0
override.field = media
}
}
}
}
}
}
Wie weise ich den jetzt das Rollover-Bild zu (ist das so richtig in meinem TS?), bzw definiere wo es hin soll?
Es war ein Beispiel. Wenn du das mit dem TMENU machst, dann kannst du das Bild im CSS definieren. Es sei denn du willst vor jeder Seite ein anderes Bild. Dann kannst du es dir so aus dem Mediafeld holen.
PROJEKTE = HMENU
PROJEKTE {
special = directory
special.value = 2
1 = TMENU
1 {
wrap = <ul>|</ul>
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagParams = class=""
}
RO < .NO
RO {
stdWrap {
prepend = IMAGE
prepend {
file {
maxH =
maxW =
import = uploads/media/
import {
listNum = 0
override.field = media
}
}
}
}
}
}
}
Das baut dir ein valides Listmenü zusammen, bei dem Im RO-Zustand ein img vorangestellt wird (stdWrap.prepend). Das kannst du dir dann per CSS formatieren wie du willst. So Sachen wie </br> gibts natürlich auch nicht.....
Bitte schau doch in Sachen Menüs mal in dieses Thema:
#65143
Hier findest du alles was zu MENU-Object gehört:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Hmenu/Tmenu/Index.html#menu-objects
Hallo SLAng,
dank für Deine Hilfe. Ja genau, es soll beim Überfahren des Menüs immer das Bild erscheinen, dass ich bei der jeweiligen Seite, wo der Link hinführt, im Mediafeld habe. Ich habe Dein TS eingebaut und eine Breite des Bildes definiert. Eine Klasse habe ich zunächst nicht zugewiesen, da ich erst mal sehen wollte ob überhaupt ein Bild angezeigt wird, dem ich dann einen Platz zuordnen kann. Es erscheint aber leider nichts. Was mache ich noch für einen Fehler?
Noch eine Frage: Warum kann ich nicht </br> statt </li> schreiben. Ich wollte lieber eine Auflistung des Menüs ohne die Punkte haben und das ging doch mit einem break hinter dem Content sehr gut, oder?
Marc
Menüs macht man in der Regel eben mit Listen. Diese kannst du doch per CSS so formatieren wie du es haben willst... auch ohne den Punkt...
</br> geht deshalb nicht, weil es den Tag schlicht nicht gibt.
Es gibt <br> oder XHTML-kkonform <br /> BR ist ein sogenannter Stand-Alone-Tag.
mit dem / im <br> hast du natürlich Recht und er erfüllt was ich will, einen Umbruch in die nächste Zeile für mein Menü.
Nur Bilder aus dem Mediafeld erscheinen beim Roll over leider nicht.