[TYPO3-german] Dynamisches Menü Mit Text & Bild

JoH asenau info at cybercraft.de
Fri Nov 23 17:24:55 CET 2007


> ich möchte ein menü dynamisch erzeugen lassen, in dem jedes einzelne
> menü-item als definitionsliste ausgegeben werden soll. die liste soll
> jeweils ein text- und ein bild-element enthalten, wobei jedes element
> mit jeweils einem a-tag umschlossen werden soll.
>
> HTML:
> <dl class="naviSide">
>      <dt><a href="ID">TITEL1</a></dt>
>      <dd><a href="ID"><img src="fileadmin/lib/PREFIX_TITEL1.jpg"
> alt="TITEL1" /></a></dd>
> </dl>
> ...
>
> problem 1)
> wie schaffe ich es dieses 'zweiteilige' menüitem zu erzeugen? ich
> schaffe es entweder nur, BEIDE elemente mit EINEM a-tag zusammen zu
> wrappen (was nicht sein darf), oder nur EIN Element zu wrappen [1] (in
> diesem fall den text).
>
> problem 2)
> die bilddateien für die navigation lege ich im filesystem ab, wobei
> der dateiname aus einem prefix und dem entsprechenden seitentitel
> besteht. wie kann ich in TS den dateinamen erzeugen. gibt es was
> entsprechendes für 'PREFIX_'.$title.'jpg' und wie baue ich das in mein
> menü-skript ein?

Ich nehm mal nur das Nötigste:

lib.naviLeft = HMENU
lib.naviLeft {
    1 = TMENU
    1 {
        noBlur = 1
        expAll = 0
        NO {
            allWrap = <dl class="naviSide">|</dl>
            linkWrap = <dt>|</dt>
            afterImg {
                import.dataWrap =
fileadmin/myfolder/PREFIX_{field:title}.jpg
            }
            afterImgLink = 1
            afterWrap = <dd>|</dd>
        }
    }
}

Wobei das so IMHO keinen Sinn macht, weil dafür eigentlich das "media" Feld
der Tabelle "pages" gedacht ist. Du lädst besser das passende Bild einfach
direkt in den Seiten-Record und brauchst dann nicht mit PREFIX_blah
rumzufrickeln:

lib.naviLeft = HMENU
lib.naviLeft {
    1 = TMENU
    1 {
        noBlur = 1
        expAll = 0
        NO {
            allWrap = <dl class="naviSide">|</dl>
            linkWrap = <dt>|</dt>
            afterImg {
                import = uploads/media/
                import.field = media
                import.listNum = 0
            }
            afterImgLink = 1
            afterWrap = <dd>|</dd>
        }
    }
}
Wenn Du wirklich Wert auf das "alt" Attribut legst, das bei afterImg nicht
vorgsehen ist, kannst Du's auch so machen, mußt dann aber den Link für's
Image selbst bauen:

lib.naviLeft = HMENU
lib.naviLeft {
    1 = TMENU
    1 {
        noBlur = 1
        expAll = 0
        NO {
            allWrap = <dl class="naviSide">|</dl>
            linkWrap = <dt>|</dt>
            after {
                cObject = IMAGE
                cObject {
                    file {
                        import = uploads/media/
                        import.field = media
                        import.listNum = 0
                    }
                    altText.field = title
                    stdWrap.typolink {
                        parameter.field = uid
                    }
                }
            }
            afterWrap = <dd>|</dd>
        }
    }
}

HTH

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
openBC/Xing: http://www.cybercraft.de
T3 cookbook: http://www.typo3experts.com
Jobs: http://www.professionals-only.com




More information about the TYPO3-german mailing list