Project

General

Profile

Actions

Bug #86979

closed

stdWrap fieldRequired/insertData sometimes not working as expected since TYPO3 9 LTS

Added by Josef Glatz over 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
TypoScript
Target version:
-
Start date:
2018-11-22
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
9
PHP Version:
Tags:
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

Problem/Description

The following TypoScript snippet works with TYPO3 8 LTS:

page {
    bodyTagCObject = COA
    bodyTagCObject {
        stdWrap.wrap = <body id="top"|>

        # attribute class
        10 = COA
        10 {
            stdWrap {
                noTrimWrap = | class="|"|
                required = 1
            }

            # Add current language
            20 = TEXT
            20 {
                value = language-{TSFE:sys_language_uid} languagecontent-{TSFE:sys_language_content}
                insertData = 1
                noTrimWrap = || |
            }

            # Add level
            25 = TEXT
            25 {
                value = level-{level:0}
                insertData = 1
                noTrimWrap = || |
            }

            # Add uid of optional FE-layout
            40 = TEXT
            40 {
                fieldRequired = layout
                value = layout-{field:layout}
                insertData = 1
                noTrimWrap = | ||
            }

            # Add uid of rootpage
            50 = TEXT
            50 {
                value = root-{leveluid:0}
                insertData = 1
                noTrimWrap = | ||
            }

            # Add class if it's the rootpage
            60 = TEXT
            60 {
                fieldRequired = is_siteroot
                value = rootpage
                noTrimWrap = | ||
            }
        }

        # attribute(s) data-*
        20 = COA
        20 {
            # Add page UID
            10 = TEXT
            10 {
                value = data-page-uid="{field:uid}" 
                insertData = 1
                noTrimWrap = | ||
            }
        }
    }
}

Link to the working code snippet of my TYPO3 Distribution
__

The following objects does not appear anymore when it should apply on a proper page:

page.bodyTagCObject.10.60 does not render anything
            # Add class if it's the rootpage
            60 = TEXT
            60 {
                fieldRequired = is_siteroot
                value = rootpage
                noTrimWrap = | ||
            }

It seems like the page field is_siteroot isn't true. But it works when rendering the value, and it shows 1 on the root page. So fieldRequired get's not "true"

  • instead of rootpage
  • nothing is rendered/returned by this object
page.bodyTagCObject.20.10 does not render {field:uid}
            # Add page UID
            10 = TEXT
            10 {
                value = data-page-uid="{field:uid}" 
                insertData = 1
                noTrimWrap = | ||
            }
  • instead of data-page-uid="1"
  • only data-page-uid="" is rendered

Just to re-check: the following snippet is working fine on the same page

page {
4 = TEXT
    4 {
        field = is_siteroot
        fieldRequired = is_siteroot
        wrap = <h1>|</h1>
    }
    5 = TEXT
    5 {
        field = uid
        wrap = <h2>|</h2>
    }
}

Acceptance Criteria

  • Such a straight forward TypoScript setup must work, as there should be no breaking changes in this area after upgrading to TYPO3 9 LTS.

Related issues 3 (0 open3 closed)

Related to TYPO3 Core - Bug #87186: Missing namespace for TypoScriptFrontendController in CObjectViewHelperClosed2018-12-17

Actions
Related to TYPO3 Core - Bug #86703: Page's data partly not available via getText if page has form CEClosed2018-10-20

Actions
Has duplicate TYPO3 Core - Bug #87003: Plugins overrides Page DataClosedBenjamin Kott2018-11-26

Actions
Actions #1

Updated by Josef Glatz over 5 years ago

  • Description updated (diff)
Actions #2

Updated by Stephan grass over 5 years ago

Maybe the same issue here:

page.bodyTagCObject = COA
page.bodyTagCObject {
    5 = TEXT
    5 {
        field = uid
        noTrimWrap = | id="page_|" |
    }
    stdWrap.wrap = <body|>
}

will result in

<body id="page_">
Actions #3

Updated by Josef Glatz over 5 years ago

  • Related to Bug #76489: f:cObject resets other global parameters in fluid_styled_content added
Actions #4

Updated by Josef Glatz over 5 years ago

If the problem occurs, the row of the page seems not to be available anymore in specific areas within TypoScript.

For me, https://review.typo3.org/#/c/58661/ basically fixes the issue. Although that may be correct, I do not know if there are any other crucial areas that will fail.

A partially workaround is to use {TSFE:id} instead of {field:uid} for example. But that's really just an temporary workaround

Actions #5

Updated by Josef Glatz over 5 years ago

  • Status changed from New to Accepted
Actions #6

Updated by Gerrit Code Review over 5 years ago

  • Status changed from Accepted to Under Review

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58661

Actions #7

Updated by Gerrit Code Review over 5 years ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58661

Actions #8

Updated by Helmut Hummel over 5 years ago

  • Has duplicate Bug #87003: Plugins overrides Page Data added
Actions #9

Updated by Helmut Hummel over 5 years ago

  • Related to deleted (Bug #76489: f:cObject resets other global parameters in fluid_styled_content)
Actions #10

Updated by Gerrit Code Review over 5 years ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58661

Actions #11

Updated by Thorben Nissen over 5 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions #12

Updated by Markus Klein over 5 years ago

  • Related to Bug #87186: Missing namespace for TypoScriptFrontendController in CObjectViewHelper added
Actions #13

Updated by Riccardo De Contardi about 5 years ago

  • Related to Bug #86703: Page's data partly not available via getText if page has form CE added
Actions #14

Updated by Benni Mack almost 5 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF