TYPO3:根据页面布局自动包装CASE

3
我在页面顶部有一个大的引人注目的图片。作者可以在后台选择引人注目的图片是静态的还是动态的幻灯片。顺便说一下,我正在使用Bootstrap来制作幻灯片。
选择项出现在“页面>编辑>外观”中。 根页面TSConfig:
TCEFORM.pages {
    layout.altLabels.1 = Default (with Slideshow)
    layout.altLabels.0 = Default
}

现在,情况变得有点棘手。
要让Bootstrap滑块运行,你需要有一个外部包装和每个滑块也要被包装。这是我目前的代码:

page.10.variables {
    teaser < styles.content.get
    teaser.select.where = colPos = 0
    teaser.stdWrap.required = 1
    teaser.stdWrap.wrap {
        cObject = CASE 
        cObject {
            key.field = layout

            default = TEXT
            default.value = |

            1 = TEXT
            1.value = <div id="teaser" ...>|</div> ### shortened 
        }
    }

    teaser.renderObj.stdWrap.wrap {
        cObject = CASE 
        cObject {
            key.field = layout

            default = TEXT
            default.value = |

            1 = TEXT
            1.value = <div class="item">|</div>
        }
    }
}

第一个teaser.stdWrap.wrap非常有效。选择前端布局相应地包装了预告片。
但是teaser.renderObj.stdWrap.wrap不起作用。主要是因为我认为CASE的关键不是前端布局,而是内容元素的布局。 如何更改这个?

第二个问题。这就是当前外层的样式(或者如果上面的TS按照预期工作,它们将看起来如何):

<div class="item">
    <div id="c14">
        <div class="ce-textpic ce-right ce-intext">
            <div class="ce-gallery" data-ce-columns="1" data-ce-images="1">
                <div class="ce-row">
                    <div class="ce-column">
                        <div class="ce-media">
                            <img src="img.jpg" width="1150" height="632" alt="">
                        </div>
                    </div>
                </div>
            </div>
        <div class="ce-bodytext"></div>
    </div>
</div>

有没有办法让它看起来更像或更少像这样?
<div class="item">
    <img class="slide" src="img.jpg">
</div>

客户不希望有任何字幕或文本,因此可以忽略。

我正在运行TYPO3 7.6.6和fluid_styled_content。

1个回答

3

因此,对于第一个问题的答案:

您可以在TypoScript中使用“getText”数据类型。请参见文档here

它具有当前页面记录的预定义变量。所以只需简单更改第二个键属性:

key.data = page:layout

如果您正在使用fluid_styled_content系统,则可以直接使用fluid解决此问题。(您可以通过data.layout访问布局)。
回答第二个问题:
是的,这是可能的,您需要查看fluid_styled_content扩展。在那里,您可以找到有关模板、布局和元素的大量信息。您可以使用自己的模板轻松覆盖它们,并摆脱任何不必要的div
为此,我可以向您推荐一段德语video视频。

真巧,我也是德国人 ;) 这个视频帮了我很多。我只是添加了一个流体条件来在前端布局不同的情况下以不同的方式包装东西。非常感谢! - Norman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接