[TYPO3-german] Nummerierung Überschriften und Inhaltsverzeichnis
Alex Ru
alex at ruof.org
Fri Sep 5 09:20:56 CEST 2014
Hallo Dieter,
Deine Angaben sind mir noch zu hoch. Ich habe seit V3.8 nichts mehr mit Typo3 gemacht und bin da absolut nicht mehr drin in Typoscript.
Aber folgende Angabe hat mich zur Lösung von meinem Problem gebracht und reicht mir vollkommen aus, da dies vorerst nur für mich selbst Gedacht ist. Die Seite soll einfach zur Erstellung von Schulungsinhalten genutzt werden, die ich dann bei einer Schulung im Hause aufrufe und so die Inhalte entsprechend einfach aufrufen und springen kann. Natürlich sollte der Kunde das dann in gerduckter Form auch erhalten können. Deshalb das Inhaltsverzeichnis für die Seite, die immer ein abgeschlossenes Kapitel sein soll. Das erste Element ist immer das Inhaltsverzeichnis.
> styles.content.get, dass erweitert wurde um
> andWhere = CType.= ('header', [weitere CType-Aufzählung].)
Danke für den Hinweis.
Ich habe in meinem Code einfach folgendes erweitert:
--> 3.select.andWhere = sectionIndex!=0
wird zu
--> 3.select.andWhere = sectionIndex!=0 AND (CType != 'div')
und schon wird der Trenner für Seitenumbruch im PDF nicht mehr mitgezählt und alle anderen Elemente werden entsprechend dem Ãberschriftentyp gezählt.
Hier mein Vollständiger Code (ausgelagert in 2 Dateien). Angewendet nur auf Seiten mit doktype=55 (spezieller Seitentyp dafür). Ãberschriftstyp 6 angelegt um auch nicht gezählt zu werden.
ttcontent_nr.ts
<code>
[globalVar = TSFE:page|doktype = 55]
// WICHTIG! sonst geht es nicht
//
lib.stdheader.98>
lib.stdheader.99>
//
// Ende WICHTIG!
lib.stdheader.10.1 >
lib.stdheader.10.1 = COA
lib.stdheader.10.1 {
10 = LOAD_REGISTER
10.H1Counter.cObject = TEXT
10.H1Counter.cObject.data = register:H1Counter
10.H1Counter.cObject.wrap = |+1
10.H1Counter.cObject.if.isTrue.current = 1
10.H1Counter.prioriCalc = intval
10.H2Counter = 0
10.H3Counter = 0
10.H4Counter = 0
10.H5Counter = 0
10.H6Counter = 0
20 = TEXT
20.current = 1
20.insertData = 1
20.fontTag = <h1{register:headerStyle}{register:headerClass}>{register:H1Counter}: |</h1>
}
lib.stdheader.10.2 >
lib.stdheader.10.2 < lib.stdheader.10.1
lib.stdheader.10.2 {
10.H2Counter >
10.H2Counter.cObject < .10.H1Counter.cObject
10.H2Counter.cObject.data = register:H2Counter
10.H2Counter.prioriCalc = intval
10.H1Counter >
20.fontTag = <h2{register:headerStyle}{register:headerClass}>{register:H1Counter}.{register:H2Counter}: |</h2>
}
lib.stdheader.10.3 >
lib.stdheader.10.3 < lib.stdheader.10.2
lib.stdheader.10.3 {
10.H3Counter >
10.H3Counter.cObject < .10.H2Counter.cObject
10.H3Counter.cObject.data = register:H3Counter
10.H3Counter.prioriCalc = intval
10.H2Counter >
20.fontTag = <h3{register:headerStyle}{register:headerClass}>{register:H1Counter}.{register:H2Counter}.{register:H3Counter}: |</h3>
}
lib.stdheader.10.4 >
lib.stdheader.10.4 < lib.stdheader.10.3
lib.stdheader.10.4 {
10.H4Counter >
10.H4Counter.cObject < .10.H3Counter.cObject
10.H4Counter.cObject.data = register:H4Counter
10.H4Counter.prioriCalc = intval
10.H3Counter >
20.fontTag = <h4{register:headerStyle}{register:headerClass}>{register:H1Counter}.{register:H2Counter}.{register:H3Counter}.{register:H4Counter}: |</h4>
}
lib.stdheader.10.5 >
lib.stdheader.10.5 < lib.stdheader.10.4
lib.stdheader.10.5 {
10.H5Counter >
10.H5Counter.cObject < .10.H4Counter.cObject
10.H5Counter.cObject.data = register:H5Counter
10.H5Counter.prioriCalc = intval
10.H4Counter >
20.fontTag = <h5{register:headerStyle}{register:headerClass}>{register:H1Counter}.{register:H2Counter}.{register:H3Counter}.{register:H4Counter}.{register:H5Counter}: |</h5>
}
lib.stdheader.10.6 >
lib.stdheader.10.6 < lib.stdheader.10.5
lib.stdheader.10.6 {
10.H6Counter >
10.H6Counter.cObject < .10.H5Counter.cObject
10.H6Counter.cObject.data = register:H6Counter
10.H6Counter.prioriCalc = intval
10.H5Counter >
20.fontTag = <h6 {register:headerStyle}{register:headerClass}>|</h6>
}
[ELSE]
lib.stdheader.10 {
6 < lib.stdheader.10.1
6.dataWrap = <h6 class="csc-firstHeader">|</h6>
}
[end]
</code>
und menue_nr.ts
<code>
[globalVar = TSFE:page|doktype = 55]
tt_content.menu.20.3 >
tt_content.menu.20 {
3 < styles.content.get
3.wrap = <div class="csc-menu csc-menu-3">|</div>
3.select.andWhere = sectionIndex!=0 AND (CType != 'div')
3.select.pidInList.override.field = pages
3.renderObj = CASE
3.renderObj {
key.field = header_layout
default = COA
default {
stdWrap.fieldRequired = header
10 = LOAD_REGISTER
10.L1Counter.cObject = TEXT
10.L1Counter.cObject.data = register:L1Counter
10.L1Counter.cObject.wrap = |+1
10.L1Counter.prioriCalc = intval
10.L2Counter = 0
10.L3Counter = 0
10.L4Counter = 0
10.L5Counter = 0
20 = TEXT
20.field = header
20.trim = 1
20.htmlSpecialChars = 1
20.dataWrap = <p class="csc-section">{register:L1Counter} |</p>
20.typolink.parameter.field = pid
20.typolink.section.field = uid
}
1 < .default
2 < .default
2.10.L2Counter >
2.10.L2Counter.cObject < .2.10.L1Counter.cObject
2.10.L2Counter.cObject.data = register:L2Counter
2.10.L2Counter.prioriCalc = intval
2.10.L1Counter >
2.20.dataWrap = <p class="csc-section">{register:L1Counter}.{register:L2Counter} |</p>
3 < .2
3.10.L3Counter >
3.10.L3Counter.cObject < .3.10.L2Counter.cObject
3.10.L3Counter.cObject.data = register:L3Counter
3.10.L3Counter.prioriCalc = intval
3.10.L2Counter >
3.20.dataWrap = <p class="csc-section">{register:L1Counter}.{register:L2Counter}.{register:L3Counter} |</p>
4 < .3
4.10.L4Counter >
4.10.L4Counter.cObject < .4.10.L3Counter.cObject
4.10.L4Counter.cObject.data = register:L4Counter
4.10.L4Counter.prioriCalc = intval
4.10.L3Counter >
4.20.dataWrap = <p class="csc-section">{register:L1Counter}.{register:L2Counter}.{register:L3Counter}.{register:L4Counter} |</p>
5 < .4
5.10.L5Counter >
5.10.L5Counter.cObject < .5.10.L4Counter.cObject
5.10.L5Counter.cObject.data = register:L5Counter
5.10.L5Counter.prioriCalc = intval
5.10.L4Counter >
5.20.dataWrap = <p class="csc-section">{register:L1Counter}.{register:L2Counter}.{register:L3Counter}.{register:L4Counter}.{register:L5Counter} |</p>
}
}
[end]
</code>
Gruss
Alex
More information about the TYPO3-german
mailing list