Hallo!
Ich habe schon das Forum durchsucht aber bisher keinen Eintrag gefunden, der mir hilft, mein Problem zu lösen.
Ich möchte gerne einen Menü erstellen, das so aussieht:
<ul>
<li><a href="[link]"><span class="hidden">[hier der Menütext]</span><img src="spacer.gif" /></a></li>
</ul>
Der Benutzer soll dann auf das Bild klicken können, den Text aber nur sehen, wenn er CSS ausschaltet.
Kann mir jemand mit dem TYPOScript helfen? -> wie wrappe ich das?
Z.B. so hier:
/******
*
*
accessible GTMenu
Published in: TYPO3
URL: http://www.gtmenu.de
Using this TypoScript,
you can build an accessible GTMenu which may fully be styled using CSS.
We propose using this instead of ANY GMENU which creates ugly code.
It renders a simple TMENU,
and wraps an IMG_RESOURCE into the ATagParams by making this a cObject.
There will be a podcast on typo3.org sometime soon.
Please note:
in order to use {TSFE:lastImgResourceInfo|0}
(which reads the width of the last image generated by the gifbuilder)
you need TYPO3 4.1
*
*
*******/
### TypoScript ###
lib.gtmenu = HMENU
lib.gtmenu {
1 = TMENU
1 {
wrap = <ul id="navi">|</ul>
NO.doNotLinkIt = 1
NO.wrapItemAndSub = <li>|</li>
NO.stdWrap.cObject = COA
NO.stdWrap.cObject {
10 = TEXT
10 {
field = title
typolink {
parameter.field = uid
ATagParams.cObject = COA
ATagParams.cObject {
10 = IMG_RESOURCE
10.file = GIFBUILDER
10.file {
XY = [10.w]+[20.w]+10,70
transparentColor = #ffffff
10 = TEXT
10 {
text.field = subtitle//title
fontSize = 14
fontFile=fileadmin/fonts/DINPro-Bold.otf
offset = 5,20
fontColor = #787879
}
20 = BOX
20 {
dimensions = 0,30,[10.w]+[20.w]+10,30
color = #e53827
}
30 = TEXT
30 < .10
30 {
offset = 5,50
fontColor = #ffffff
}
}
10.stdWrap.dataWrap = style="width:{TSFE:lastImgResourceInfo|0}px; background-image: url('/|');"
}
}
}
}
}
}
### CSS ###
ul#navi {list-style: none;}
ul#navi li {float: left;}
ul#navi li a {background-repeat:no-repeat; display:block; overflow:hidden;text-indent: 999em; white-space:nowrap; height:30px;}
ul#navi li a:hover, ul#navi li.current a,ul#navi li.over a {background-position:0px -30px;}
Das Bild wird dabei als CSS-Hintergrundbild eingebunden und nicht als image-tag,
das ist semantisch sauberer...
Auf den ersten Blick glaube ich, dass das Script nicht das macht, was ich gerne hätte.
Mein bisheriges Script sieht so aus:
## Sub Menu [Begin]
temp.submenu = HMENU
temp.submenu.entryLevel = 2
temp.submenu{
1 = TMENU
1 {
expAll=1
wrap=<ul class="nav3">|</ul>
NO {
afterImg=fileadmin/templates/main_2/spacer.gif
afterImgLink=1
doNotShowLink=1
allWrap=<li>|</li>
}
}
1.ACT < NO
1.ACT = 1
1.ACT {
afterImg=fileadmin/templates/main_2/spacer.gif
afterImgLink=1
doNotShowLink=1
allWrap=<li>|</li>
ATagParams=class="active"
}
}
was hier aber fehlt ist der Menütext. den hätte ich wie gesagt gerne in einem span, der mit css versteckt wird.
Lösung (zwar nicht ganz so wie ich wollte, aber fast):
temp.submenu = HMENU
temp.submenu {
entryLevel = 2
1 = TMENU
1.wrap = <ul class="nav3">|</ul>
1 {
NO {
wrapItemAndSub = <li><span class="hidden">|</li>
stdWrap.append = COA
stdWrap.append {
9 = HTML
9.value = </span>
10 = IMAGE
10.file = fileadmin/templates/main_2/spacer.gif
10.altText.field = title
10.titleText.field = title
}
}
}
1.ACT < NO
1.ACT = 1
1.ACT {
wrapItemAndSub = <li><span class="hidden">|</li>
stdWrap.append = COA
stdWrap.append {
9 = HTML
9.value = </span>
10 = IMAGE
10.file = fileadmin/templates/main_2/spacer.gif
10.altText.field = title
10.titleText.field = title
}
ATagParams=class="active"
}
}
Ich möchte eigentlich genau so etwas machen, allerdings kein Menü (das hab ich schonmal gemacht, auch mit TS... ging gut).
Ich möchte das bei Texten/Inhaltselementen machen.
Dass der Redakteur also einen Text eingibt...z.B. eine Bedienungsanleitung... der Redakteur soll aber dann die Möglichkeit haben, dass er ein Bild (z.B. eine Grafik, die schön bildlich erklärt, wie man z.B. eben den Videorecorder anschaltet) hochlädt (also ohne TS-Schreiberei, sondern per Bild-Upload-Dialog).
Dieses Bild soll dann den Text ersetzen (Prinzip: text-indent).
Das selbe Prinzip wär auch für Überschriften toll. Text eingeben, hinter dem verbirgt sich eigentlich eine 08/15 Arialschrift und dann lädt man aber ein Bild hoch, wo die Überschrift durch z.B. eine toll gezeichnete kleine Grafik ersetzt wird.
Das alles, "Texte/Listen und Überschriften durch Bilder ersetzen" hab ich schon sehr oft, bei Internetseiten gesehen, gehe aber davon aus, dass die Leute das dort ohne CMS einfach im HTML-Code und in der CSS geregelt haben.
Ich suche eben eine Möglichkeit, wie ich das komfortabel für Typo3-Redakteure machen könnte... Also eine Extension wär toll, hab aber bislang nichts gefunden und weiß auch nicht so recht wie man dieses Verfahren vielleicht nennt.