ds-site/Configuration/TypoScript/Setup/Page.typoscript
Daniel Siepmann abd08429f5 Migrate DB logic from TS to new Data Processor
This way multiple joins are possible.
As multiple joins are possible, TYPO3 can add pages to the query and
therefore respect the enable fields.
Hidden pages will therefore not be part of the result, fixing
inaccurate count for none published pages with assigned categories.

Also the TypoScript communicates what should happen.
2020-09-25 01:09:36 +02:00

153 lines
4.3 KiB
Text

page = PAGE
page {
includeCSS {
index = EXT:ds_site/Resources/Public/Css/index.css
}
meta {
viewport = width=device-width, initial-scale=1
}
bodyTagCObject = COA
bodyTagCObject {
10 = CASE
10 {
key.stdWrap.cObject =< page.10.templateName.cObject
default = TEXT
default.value = BlogSidebar
Full = TEXT
Full.value = Content
BlogPost = TEXT
BlogPost.value = Content
}
stdWrap.noTrimWrap = |<body class="Layout|">|
}
5 = EDITPANEL
5 {
newRecordFromTable = tt_content
}
10 = FLUIDTEMPLATE
10 {
templateName {
cObject = TEXT
cObject {
data = pagelayout
required = 1
case = uppercamelcase
split {
token = pagets__
cObjNum = 1
1.current = 1
}
}
ifEmpty = Default
}
layoutRootPaths {
10 = EXT:ds_site/Resources/Private/Layouts/Page/
}
partialRootPaths {
10 = EXT:ds_site/Resources/Private/Partials/
20 = EXT:ds_site/Resources/Private/Partials/Page/
}
templateRootPaths {
10 = EXT:ds_site/Resources/Private/Templates/Page/
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
10 {
as = assignedTopics
table = sys_category
pidInList = 2
where = sys_category_record_mm.uid_foreign = {page:uid} AND sys_category.parent = 1
where.insertData = 1
leftjoin = sys_category_record_mm ON sys_category_record_mm.uid_local = sys_category.uid
orderBy = count DESC, sys_category.title ASC
}
11 < .10
11 {
as = compatibleWith
where = sys_category_record_mm.uid_foreign = {page:uid} AND sys_category.parent = 2
orderBy = sorting
}
50 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
50 {
table = tt_content
as = pageContent
where = sectionIndex = 1 AND header_layout != 100 and colPos != 50
orderBy = colPos, sorting
}
100 = DanielSiepmann\DsSite\Frontend\DataProcessing\CategoriesCounts
100 {
as = allTopics
orderBy = count desc
parent = 1
}
101 < .100
101 {
as = allTypo3Compatible
orderBy = title asc
parent = 2
}
500 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
500 {
as = media
references.fieldName = media
}
800 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
800 {
as = rootline
special = rootline
# First two level are root page and folders for structure
special.range = 2|-2
if {
value = 2
isGreaterThan.data = level
}
}
1000 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
1000 {
as = footerMenu
special = list
special.value = 3
levels = 2
excludeDoktypes = 255
}
}
settings {
websiteTitle < sitetitle
websiteSubTitle = Coding is Art
}
variables {
introduction =< styles.content.get
introduction {
select {
where = {#colPos}=50
}
}
contentMain =< styles.content.get
acknowledgements =< styles.content.get
acknowledgements {
select {
where = {#colPos}=100
}
}
furtherReading =< styles.content.get
furtherReading {
select {
where = {#colPos}=200
}
}
}
}
}