[TYPO3-german] TYPO3 Kochbuch: Navigation zu "alphabetisches Inhaltsverzeichnis"

Michael Haugg michael.haugg at memmingen.de
Tue Jan 16 08:17:12 CET 2007


Hallo Joey,

Vielen Dank für die Tipps!

> Solange Du den restlichen Text nicht mitpostest, ist das kein Problem ;-)

Ich werd' ihn nicht abtippen - versprochen! ;-)

> Das Problem dürfte darin liegen, daß die Rendering Engine nicht genau
> "weiß", welche Buchstaben Du brauchst, weil Du die eigentliche Liste ja erst
> danach renderst.

Möchte, bevor ich das was Du mir geschrieben hast, ausprobiere nur noch 
mal kurz schildern, wie meine Lösungsansatz war und warum ich deshalb 
nicht verstehe, das die Rendering Engine nicht "weiss" welchen 
Buchstaben sie ausgeben soll. Sie gibt ihn ja aus! Nur nicht verlinkt.

> Wenn Du es automatisiert machen willst, bedeutet das, daß Du zuerst die
> Liste rendern mußt, um damit ein Register der verwendeten Buchstaben zu
> füllen. (register:firstLetter enthält ja immer nur den gerade aktuellen
> Buchstaben.)

Genauso (?) hab ich es auch wie folgt versucht:

siehe hierzu meine Testseite:
http://web101.netzwerteserver2.de/202.html

temp.getPages = HMENU
temp.getPages {
	...
  	wie im Buch
	...
}

temp.getABC = COA
### mehr oder weniger eine Kopie von temp.getContentList
temp.getABC {
    10 < temp.getPages
       ...
       wie temp.getContentList im Buch
       ...
       renderObj = COA
       renderObj {
          10 = TEXT
          10 {
             outerWrap.cObject = COA
             outerWrap.cObject {
                10 = TEXT
                10 {
		value = |
                   if.isFalse.data = register:firstLetter
                   typolink.parameter.dataWrap = #test1
                   typolink.ATagParams = style="{$var_spanStyle}"
                }

                20 = TEXT
                20 {
                   value = |
                   if.isTrue.data = register:firstLetter
                   typolink.parameter.dataWrap = #test2
                   typolink.ATagParams = style="{$var_spanStyle}"
                }
             }
      ...
      wie temp.getContentList im Buch
      ...
}

temp.getContentList = COA
temp.getContentList {
	5 = TEXT
	5.value = <dl>

	7 < temp.getABC
  	...
	ansonsten wie im Buch, nur eben als Def.-liste gewrapt
	...
}

Die korrekten Anfangsbuchstaben werden somit vor dem Inhaltsverzeichnis 
ausgegeben, also sind sie doch vorhanden. Ich kann sie ja sogar mir 
meiner Anweisung
typolink.ATagParams = style="{$var_spanStyle}"
formatieren. Also :
<a style="..." href="#test1">A</a>
nur dass halt der Buchstabe auch im href reingehört:
<a style="..." href="#A">A</a>

Bin ich denn da völlig auf dem falschen Dampfer?

> Wenn das Ganze nicht dynamisch sein muß, würde es reichen nach dem gleichen
> Prinzip ein COA mit 26+ Elementen zu erzeugen, die jeweils #A, #B usw. als
> Typolink-Parameter erhalten.

> das kannst Du dann auch "davor" platzieren, jedoch könnte es dann immer noch
> sein, daß Links ins Leere verweisen, weil der Buchstabe nicht vorkommt.

Genau deswegen wäre "dynamisch" viel besser, zumal in meinem Fall 
gegeben ist, dass relativ viel Buchstaben nicht vorkommen werden. Das 
wäre die Notlösung, die hätte ich natürlich nicht so elegant per TS 
hinbekommen, aber dann halt einfach HTML hingeschrieben.

Natürlich müsste die Ausgabe in temp.getContentList auch entsprechend 
<li id="A">A... oder <dt id="A">A... lauten.

> HTH

Da musste ich doch nun tatsächlich danach googlen :-) Dafür schon wieder 
was dazu gelernt!
Bringt mich der Lösung auf jeden Fall näher!

Viele Grüße aus Memmingen

Michael


More information about the TYPO3-german mailing list