Ease and improve TOC generation
Do not add another level of data processing. Allow to hide content in TOC. Ensure ordering of elements in TOC reflects ordering in rendering.
This commit is contained in:
parent
2bcf14f5b1
commit
c60a207394
4 changed files with 14 additions and 28 deletions
|
@ -34,9 +34,6 @@ TCEFORM.tt_content {
|
||||||
space_after_class {
|
space_after_class {
|
||||||
disabled = 1
|
disabled = 1
|
||||||
}
|
}
|
||||||
sectionIndex {
|
|
||||||
disabled = 1
|
|
||||||
}
|
|
||||||
linkToTop {
|
linkToTop {
|
||||||
disabled = 1
|
disabled = 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,21 +73,12 @@ page {
|
||||||
orderBy = sorting
|
orderBy = sorting
|
||||||
}
|
}
|
||||||
|
|
||||||
50 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
|
50 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
|
||||||
50 {
|
50 {
|
||||||
as = pageSections
|
|
||||||
special = list
|
|
||||||
special.value.data = page:uid
|
|
||||||
dataProcessing {
|
|
||||||
10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
|
|
||||||
10 {
|
|
||||||
table = tt_content
|
table = tt_content
|
||||||
pidInList.field = uid
|
as = pageContent
|
||||||
as = content
|
where = sectionIndex = 1 AND header_layout != 100 and colPos != 50
|
||||||
where = sectionIndex = 1 AND header_layout != 100
|
orderBy = colPos, sorting
|
||||||
orderBy = sorting
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
100 < .10
|
100 < .10
|
||||||
|
|
|
@ -51,15 +51,13 @@
|
||||||
<li>
|
<li>
|
||||||
<a href="#introduction">Introduction</a>
|
<a href="#introduction">Introduction</a>
|
||||||
</li>
|
</li>
|
||||||
<f:alias map="{contentSections: pageSections.0.content}">
|
<f:for each="{pageContent}" as="contentEntry">
|
||||||
<f:for each="{contentSections}" as="contentEntry">
|
|
||||||
<f:if condition="{contentEntry.data.header}">
|
<f:if condition="{contentEntry.data.header}">
|
||||||
<li>
|
<li>
|
||||||
<a href="#c{contentEntry.data.uid}">{contentEntry.data.header}</a>
|
<a href="#c{contentEntry.data.uid}">{contentEntry.data.header}</a>
|
||||||
</li>
|
</li>
|
||||||
</f:if>
|
</f:if>
|
||||||
</f:for>
|
</f:for>
|
||||||
</f:alias>
|
|
||||||
<f:if condition="{acknowledgements}">
|
<f:if condition="{acknowledgements}">
|
||||||
<li>
|
<li>
|
||||||
<a href="#acknowledgements">Acknowledgements</a>
|
<a href="#acknowledgements">Acknowledgements</a>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
})}
|
})}
|
||||||
|
|
||||||
{f:render(section: 'TableOfContent', arguments: {
|
{f:render(section: 'TableOfContent', arguments: {
|
||||||
contentSections: pageSections.0.content
|
pageContent: pageContent
|
||||||
})}
|
})}
|
||||||
|
|
||||||
</f:section>
|
</f:section>
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
<nav>
|
<nav>
|
||||||
<h1>Table of Content</h1>
|
<h1>Table of Content</h1>
|
||||||
<ol>
|
<ol>
|
||||||
<f:for each="{contentSections}" as="contentEntry">
|
<f:for each="{pageContent}" as="contentEntry">
|
||||||
<f:if condition="{contentEntry.data.header}">
|
<f:if condition="{contentEntry.data.header}">
|
||||||
<li>
|
<li>
|
||||||
<a href="#c{contentEntry.data.uid}">{contentEntry.data.header}</a>
|
<a href="#c{contentEntry.data.uid}">{contentEntry.data.header}</a>
|
||||||
|
|
Loading…
Reference in a new issue