Accessible menü mit Bild und unsichtbarem Text [Gelöst]

  • SimonSchaufi SimonScha...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    29. 01. 2009, 18:32

    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?


  • 1
  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    30. 01. 2009, 08:11

    Z.B. so hier:

    [TS]

    /******
    *
    *
    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;}

    [/TS]

    Das Bild wird dabei als CSS-Hintergrundbild eingebunden und nicht als image-tag,
    das ist semantisch sauberer...

  • SimonSchaufi SimonScha...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    30. 01. 2009, 14:40

    Auf den ersten Blick glaube ich, dass das Script nicht das macht, was ich gerne hätte.

    Mein bisheriges Script sieht so aus:

    1. ## Sub Menu [Begin]
    2. temp.submenu = HMENU
    3. temp.submenu.entryLevel = 2
    4. temp.submenu{
    5. 1 = TMENU
    6. 1 {
    7. expAll=1
    8. wrap=<ul class="nav3">|</ul>
    9. NO {
    10. afterImg=fileadmin/templates/main_2/spacer.gif
    11. afterImgLink=1
    12. doNotShowLink=1
    13. allWrap=<li>|</li>
    14. }
    15. }
    16. 1.ACT < NO
    17. 1.ACT = 1
    18. 1.ACT {
    19. afterImg=fileadmin/templates/main_2/spacer.gif
    20. afterImgLink=1
    21. doNotShowLink=1
    22. allWrap=<li>|</li>
    23. ATagParams=class="active"
    24. }
    25. }

    was hier aber fehlt ist der Menütext. den hätte ich wie gesagt gerne in einem span, der mit css versteckt wird.

  • SimonSchaufi SimonScha...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    05. 02. 2009, 16:49

    Lösung (zwar nicht ganz so wie ich wollte, aber fast):
    [TS]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"
    }
    }[/TS]

  • fantasmo fantasmo
    TYPO3-Anwärter
    0 x
    7 Beiträge
    0 Hilfreiche Beiträge
    16. 04. 2009, 20:31

    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.

  • SimonSchaufi SimonScha...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    16. 04. 2009, 20:41

    .

  • 1