Hallo allerseits!
Folgendes Problem:
der fertige (geparste) HTML-Code des Menü-Elements soll folgendermaßen aussehen:
<li><a href="..."><font>text</font></a></li>
Also:
ListenelementAuf
ATagAuf
FontTagAuf - TEXT - FontTagZu
ATagZu
ListenelementZu
Nun taucht die Frage auf, wie man das in TYPO realisiert.
MENU.1.NO.linkWrap = <li>|</li>
...das ist klar. Aber wie kann man nun einen Font-Tag in den A-Tag reinschieben???
vergiss das Font-Tag. Font-Angaben gehören ins css. Wenn du für verschiedene Links verschiedene Fontgrössen, -arten etc willst, dann regel das über Klassen (<a class=""...) bzw. in der css-Datei:
a.deinKlassenname {
font-family: Verdana, Arial, Helvetica, Sans-Serif;
font-size: 101%;
font-weight: bold;
color:#000;
}
im TS-Setup dann:
MENU.1.NO.ATagParams = class="deinKlassenname"
Zunächst mal danke für Deine Antwort.
Zum Tont-Tag. Es geht bei mir nicht um Font-Angaben wie Schriftart oder Textfarbe, sondern um andere Dinge wiePosizionierung des Link-Textes innerhalb des A-Tags. Jedenfalls brauche ich den Font-Tag.
Eigentlich gehts mir nicht nur um den Font-Tag, sondern ich möchte wissen, wie man den Inhalt des A-Tags (also das, was zwischen dem Auf- und dem Zutag steht) steuert, denn das einfache "|" reicht nicht immer.
da musst du mit before bzw. after rumexperimentieren.
Bsp:
NO {
...
beforeWrap = |
linkWrap = |
before.cObject = TEXT
before.cObject.field = uid
before.cObject.dataWrap = <a class="deinKlassenname" href="index.php?id=|" title="{field:title}{field:subtitle}"><font>
after.cObject = TEXT
after.cObject.field = title//subtitle
after.cObject.htmlSpecialChars = 1
after.cObject.wrap = |</font></a>
...
}
Die Positionierung des Link-Textes innerhalb des A-Tags wird ebenfalls im css geregelt (sollte man zumindest dort tun). Alles, was du über den FONT-Tag einstellen willst, geht auch übers css und das letztlich bequemer. Das FONT-Tag ist veraltet
moin,
NO {
linkWrap = <span> | </span>
ATagBeforeWrap = 1
}
Armin
stefan s schrieb
da musst du mit before bzw. after rumexperimentieren.
Die Positionierung des Link-Textes innerhalb des A-Tags wird ebenfalls im css geregelt (sollte man zumindest dort tun). Alles, was du über den FONT-Tag einstellen willst, geht auch übers css und das letztlich bequemer. Das FONT-Tag ist veraltet
Da hast Du vollkommen Recht -- Das FONT-Tag ist prinzipiell veraltet. Nur, wie gesagt, -- ich brauche es für die Text-Posizionierung durch CSS, oder mit anderen Worten nur als IRGENDEIN-Tag, dem ich Parameter "class" oder "id" geben kann. Anstelle des "FONT" könnte also stehen "MYTAG" oder sowas.
Vielen Dank für before/after!
Nun hab ich versucht, die before/after-Variante umzusetzen:
marks {
MENU = HMENU
MENU {
special = directory
special.value = 392
1 = TMENU
1.NO = 1
1.NO {
# ATagParams = class="nav_1_NO"
# linkWrap = <li>|</li>
beforeWrap = |
linkWrap = |
before.cObject = TEXT
before.cObject.field = uid
before.cObject.dataWrap = <li><a class="nav_1_NO" href="index.php?id=|" title="{field:title}{field:subtitle}"><font class="aContent_1_NO">
after.cObject = TEXT
after.cObject.field = title//subtitle
after.cObject.htmlSpecialChars = 1
after.cObject.wrap = |</font></a></li>
}
}
Aber ich mach wohl was verkehrt, denn so sieht das Ergebnis aus:
<li>
<a class="nav_1_NO" href="index.php?id=400" title="main">
<font class="aContent_1_NO">
<a href="index.php?id=400" onfocus="blurLink(this);">
main
</a>
main
</font>
</a>
</li>
Was mache ich denn falsch?
Danke.
Da kommt die Lösung:
# SEO enables Rule Rewrite
config.simulateStaticDocuments = PATH_INFO
config.simulateStaticDocuments = 1
mainPage = PAGE
mainPage {
typeNum = 0
meta.author = My Name
bodyTag = <body>
includeCSS {
css-main = fileadmin/template_txt/css_main.css
css-menu = fileadmin/template_txt/css_menu.css
}
}
mainPage.10 = TEMPLATE
mainPage.10 {
template = FILE
template.file = fileadmin/template_txt/html_main.html
workOnSubpart = DOCUMENT
marks {
MENU = HMENU
MENU {
special = directory
special.value = 392
1 = TMENU
1.NO = 1
1.NO {
# ATagParams = class="nav_1_NO"
# linkWrap = <li>|</li>
beforeWrap = <li>
linkWrap = |
doNotShowLink = 1
before.cObject = TEXT
# before.cObject.field = alias//uiduid
# before.cObject.dataWrap = <a class="nav_1_NO" href="index.php?id=|" title="{field:title}{field:subtitle}">
before.cObject.dataWrap = <a class="nav_1_NO" href="{field:alias//field:uid}.html" title="{field:title}" onfocus="blur(this)">
after.cObject = TEXT
after.cObject.field = title//subtitle
after.cObject.htmlSpecialChars = 1
after.cObject.wrap = <font class="aContent_1_NO">|</font></a>
wrapItemAndSub = |</li>
}
}
CONTENT = TEXT
CONTENT.value = My Content_C
INFO = TEXT
INFO.value = My Content_R
}
}
Das ist also das Template so wie es jetzt ist -- mit dem Menü (Zeilen 21-45).
Danke für Eure Hilfe!
Noch eine Lösung (eine viel elegantere):
# MENU START
mainPage.10 {
marks {
MENU = HMENU
MENU {
special = directory
special.value = 391
1 = TMENU
1.NO = 1
1.NO {
linkWrap = <li>|</li>
stdWrap.wrap = <font class="aContent_1_NO">|</font>
ATagParams = class="nav_1_NO" onfocus=blur(this)
}
}
}
}
# MENU STOP