[TYPO3-german] Unterbrochenes <ol> Menu korrekt nummerieren

Christian Hernmarck linux at lists.hernmarck.ch
Sun Mar 11 13:21:14 CET 2012


Christian Hernmarck schrieb am Freitag 09 März 2012 21.01 im Beitrag 
<mailman.1.1331323295.14155.typo3-german at lists.typo3.org>:

> klappt nicht.

Konkreter.

Mit jedem 

nn = LOAD_REGISTER {
 registername = ...
}

Wird ja ein ein Register im Stack aufgemacht. (und mit RESTORE_REGISER 
wieder entfernt)...

Benutzen kann man es mit var.data = register:registername oder 
equivalent (dataWrap etc).

Wie kann ich jedoch an anderer Stelle den Wert dieses Regisers 
verändern? Mit einem erneuten Aufruf von LOAD_REGISTER bekomm' ich ja 
eine neue/leere Variable.
Und so wie's aussieht, kann ich nicht mit

var.data = register:registername
var.wrap = |+1

Die originale Variable auf dem Stack beeinflussen.

Da blick' ich bis jetzt nicht durch... die Beispiele haben mir in 
dieser Hinsicht bisher nicht weitergeholfen.

Danke für Aufklärung...


Gruss
Christian

> 
> Christian Hernmarck schrieb am Freitag 09 März 2012 20.59 im Beitrag
> <mailman.1.1331323179.14155.typo3-german at lists.typo3.org>:
> 
>> Kay Strobach schrieb am Freitag 09 März 2012 17.02 im Beitrag
>> <mailman.1.1331308956.32734.typo3-german at lists.typo3.org>:
>> 
>>> hi, ja davor, loadregister funktioniert wie ein stack
>>> 
>>> http://www.typo3.net/tsref/cobject/load_register/
>>> http://www.auxnet.de/blog/blog-post/2010/07/15/typo3-typoscript-
>> zaehler-in-fces-mit-hilfe-von-load-register.html
>> 
>> hm... leider nein (kapiers nicht)
>> 
>> ich hab nun
>> 
>> temp.5 = LOAD_REGISTER
>> temp {
>>    5.L1Counter.cObject = TEXT
>>    5.L1Counter.cObject.data = register:L1Counter
>>    5.L1Counter.cObject.value = 1
>>    5.L1Counter.prioriCalc = intval
>> }
>> 
>> tt_content.menu.20.3 {
>>  wrap = <ol class="csc-menu csc-menu-3">|</ol>
>> 
>>  renderObj >
>>  renderObj = CASE
>>  renderObj {
>>   key.field = CType
>> 
>>   default = COA
>>   default {
>>    stdWrap.fieldRequired = header
>> #   5 = LOAD_REGISTER
>>    5.L1Counter.cObject = TEXT
>>    5.L1Counter.cObject.data = register:L1Counter
>>    5.L1Counter.cObject.wrap = |+1
>> #   5.L1Counter.prioriCalc = intval
>>        
>>    10 = TEXT
>> ... wie gehabt
>> 
>> nun zählt er zwar beginnend mit 1, jedoch startet er bei jedem
>> Block wieder neu
>> 
>> 1
>> 2
>> 3
>> 
>> 1
>> 
>> 1
>> 2
>> 
>> 
>> ich müsste das wohl schon auf der Seite obendran machen...
>> 
>> hm, mal sehen...
>> 
>> /Christian
>> 
>> 
>>> 
>>> Grüße
>>> Kay
>>> 
>>> Am 09.03.2012 16:26, schrieb Christian Hernmarck:
>>>> Kay Strobach schrieb am Freitag 09 März 2012 16.18 im Beitrag
>>>> <mailman.1.1331306333.29604.typo3-german at lists.typo3.org>:
>>>> 
>>>>> mach einfach vor dem menu ein loadregister mit 1 ;)
>>>> 
>>>> hm - da steig ich nicht mehr durch.
>>>> 
>>>> Also LOAD_REGISTER wird ja erst im renderObj.default.5 gemacht,
>>>> also während dem die Objekte abgearbeitet werden.
>>>> 
>>>> Muss das LOAD_REGISER nun schon *vor* dem renderObj kommen - wie
>>>> erhöhe ich das dann bei jedem Durchlauf?
>>>> 
>>>> Das sind eben die Fragen, die zurzeit herumschwirren...
>>>> 
>>>> Gruss + Dank
>>>> 
>>>> Christian
>>>> 
>>>>> Am 09.03.2012 16:14, schrieb Christian Hernmarck:
>>>>>> Also - bin schon viel weiter
>>>>>>
>>>>>> TS:
>>>>>>
>>>>>> tt_content.menu.20.3 {
>>>>>>  wrap = <ol class="csc-menu csc-menu-3">|</ol>
>>>>>>
>>>>>>  renderObj >
>>>>>>  renderObj = CASE
>>>>>>  renderObj {
>>>>>>   key.field = CType
>>>>>>
>>>>>>   default = COA
>>>>>>   default {
>>>>>>    stdWrap.fieldRequired = header
>>>>>>    5 = LOAD_REGISTER
>>>>>>    5.L1Counter.cObject = TEXT
>>>>>>    5.L1Counter.cObject.data = register:L1Counter
>>>>>>    5.L1Counter.cObject.wrap = |+1
>>>>>>    5.L1Counter.prioriCalc = intval
>>>>>>    5.L2Counter = 0
>>>>>>    5.L3Counter = 0
>>>>>>    5.L4Counter = 0
>>>>>>    5.L5Counter = 0
>>>>>>        
>>>>>>    10 = TEXT
>>>>>>    10 {
>>>>>>     fieldRequired = header
>>>>>>     trim = 1
>>>>>>     field = header
>>>>>>     htmlSpecialChars = 1
>>>>>>     noBlur = 1
>>>>>>     wrap = <li class="csc-section">|</li>
>>>>>>     typolink.parameter.field = pid
>>>>>>     typolink.section.field = uid
>>>>>>    }
>>>>>>   }
>>>>>>   
>>>>>>   text < .default
>>>>>>   
>>>>>>   header < .default
>>>>>>   header {
>>>>>>    5.L1Counter.cObject.wrap = |+0
>>>>>>    10.wrap >
>>>>>>    10.typolink >
>>>>>>    10.dataWrap = </ol><h2>|</h2><ol
>>>>>>    start="{register:L1Counter}">
>>>>>>   }
>>>>>>   
>>>>>>  }
>>>>>> }
>>>>>>
>>>>>> Das geht super - nur, dass nun bei 0 begonnen wird...
>>>>>>
>>>>>> Ich bin sicher, man kann dem Zähler einen anderen Startwert
>>>>>> mitgeben... ohne gleich zu tricksen....
>>>>>>
>>>>>>
>>>>>> Gruss
>>>>>> Christian
>>>>>>
>>>>>>
>>>>>> Christian Hernmarck schrieb am Freitag 09 März 2012 14.44 im
>>>>>> Beitrag
>>>>>> <mailman.1.1331300671.23292.typo3-german at lists.typo3.org>:
>>>>>>
>>>>>>> Kay Strobach schrieb am Freitag 09 März 2012 13.57 im Beitrag
>>>>>>> <mailman.1.1331297857.20065.typo3-german at lists.typo3.org>:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> LOAD_REGISTER ist die Lösung korrekt.
>>>>>>>>
>>>>>>>> z.b.:
>>>>>>>> http://www.typo3wizard.com/de/snippets/menus/nummeriertes-
>>>>>> menue.html
>>>>>>>
>>>>>>> danke für den Link - das könnte mir noch mehr helfen:
>>>>>>>
>>>>>>> http://www.typo3wizard.com/de/snippets/cool-stuff-
>>>>>>> typoscript/nummerierte-abschnittsuebersicht-
>>>> kapitelnummerierung.html
>>>>>>>
>>>>>>> ich versuch's mal damit.
>>>>>>>
>>>>>>> Gruss
>>>>>>> Christian
>>>>>>
>>>>>
>>>>>
>>>> 
>>> 
>>>



More information about the TYPO3-german mailing list