Ich habe erfolgreich ein HMENU eingebunden, das alles sauber macht wie angegeben: Eine Seite ohne Inhalt erscheint nicht verlinkt im Ergebnis.
Nur leider werden auch Seiten vom Typ "External URL" nicht verlinkt, weil diese keinen Eintrag injh der tt_content haben.
lib.LinkListStructure = HMENU
lib.LinkListStructure.entryLevel = -1
lib.LinkListStructure {
1 = TMENU
1.expAll = 1
1 {
wrap = <ul>|</ul>
NO = 1
NO {
doNotLinkIt = 1
wrapItemAndSub = <li class="no">|</li>
#variante 1
stdWrap.override.cObject = TEXT
stdWrap.override.cObject {
field = title
typolink.parameter.field = uid
if.isTrue.numRows {
table = tt_content
select.pidInList.field = uid
}
}
}
ACT = 1
ACT < .NO
ACT.wrapItemAndSub = <li class="act"> |</li>
CUR = 1
CUR < .NO
CUR.doNotLinkIt = 1
CUR.wrapItemAndSub = <li class="act"> | </li>
}
2 < .1
3 < .1
}
Ich habe versucht folgende Abfrage in den Unterschiedlichsten Varianten und an den unterschiedlichsten Stellen im TS Code oben einzubauen und blieb mangels verwertbarer Doku und Google Suchergebnisse bisher erfolglos:
if.isTrue.field = url {
doNotLinkIt = 1
}
if.isTrue.url {
doNotLinkIt = 1
}
Dabei unterstelle ich dass in der Tabelle ´pages´ für diese Seiten das Feld ´url´ belegt ist (wollen wir das mal an dieser Stelle nicht weiter vertiefen).
Am meisten habe ich mir davon versprochen ein CASE im override cObject mit einzubauen, ich habe aber den Eindruck, dass TS nur ein CASE verträgt... oder ich verstehe das Konstrukt einfach nicht:
...
#variante 2
stdWrap.override.cObject = CASE
stdWrap.override.cObject {
field = title
typolink.parameter.field = uid
if.isTrue.numRows {
table = tt_content
select.pidInList.field = uid
}
# Ist die Seite vom Typ Externe URL?
if.isTrue.url {
??? blablabla ???
}
}
...
Entdeckt jemand den Entscheidenden Denkfehler in meiner Logik?