TYPO3 列中掩码元素的计数器

Counter for mask elements in a TYPO3 column

在 TYPO3 掩码元素中,我需要知道项目在当前列中的位置。与您将在模板中使用的任何迭代器一样,但在列的级别上。

我知道使用语法 {cObject}.renderObj.{maskElement}.settings.xyz 我可以将值传递到遮罩元素的流体模板中。但显然,转到 settings 的 TypoScript 没有呈现,对吗?

我试过这个:

pageteasers < styles.content.get
pageteasers.select.where = colPos=2
pageteasers {
    renderObj.mask_teaser.settings {
        set_number = LOAD_REGISTER
        set_number {
            counter2.cObject = TEXT
            counter2.cObject.data = register:counter2
            counter2.cObject.wrap = |+1
            counter2.prioriCalc = intval
        }
        get_number = TEXT
        get_number = register:counter2
    }
}

或更简单

pageteasers < styles.content.get
pageteasers.select.where = colPos=2
pageteasers {
    renderObj.mask_teaser.settings {
        elementId = {cObj:parentRecordNumber}
    }
}

这将输出字符串 {cObj:parentRecordNumber}

我的问题是:

您应该选择变量而不是设置,因为它们被呈现为对象,因此为您提供了完全成熟的 std Wrap 工具箱。

https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/ContentObjects/Fluidtemplate/Index.html#variables

pageteasers < styles.content.get
pageteasers.select.where = colPos=2
pageteasers {
    renderObj.mask_teaser {
        variables {
            // count up elements
            //  // <- Self-reference!
            elementCounter = TEXT
            elementCounter.value = {cObj:parentRecordNumber}
            elementCounter.insertData = 1
        }
    }
}