如何在TYPO3中的Twitter Bootstrap包中控制Carousel元素的速度

时间:2014-08-12 11:30:23

标签: twitter-bootstrap-3 typo3 carousel

我试图找到答案,但我得到的就是如何在自己实施Twitter Bootstrap时控制速度的答案。

我无法弄清楚如何在TYPO3中做到这一点。我认为它应该通过TypoScript完成,但是如何?

1 个答案:

答案 0 :(得分:1)

在Bootstrap 3的轮播中,您可以设置选项intervaldata-interval,参见http://getbootstrap.com/javascript/#carousel

你已经知道了。以下是我的表现:

首先,你必须找出扩展是否可以设置该参数。假设手册很安静,你想检查模板>下的常量编辑器。常数编辑器。没有运气了。

因此,您必须查看typo3conf/ext/bootstrap_package的代码。可以通过TypoScript设置的所有内容都可能位于/Configuration/TypoScript/constants.txt和/或setup.txt。但是,旋转木马没有任何东西。

现在,我将使用您喜欢的编辑器在整个扩展程序中搜索interval。啊,你是:在文件/Resources/Private/Templates/ContentElements/Bootstrap/Carousel.html中你会发现硬编码的间隔为10秒:

<div id="carousel-{data.uid}" class="carousel slide{f:if(condition: '{data.layout} == 110',then:' carousel-small')}" data-interval="10000" data-ride="carousel">

当然,请不要编辑扩展名,因为您必须保持其可更新性。不过没问题。

如果您搜索Carousel.html,则会在/Configuration/ContentElements/Bootstrap/Carousel.ts中找到它:

tt_content.bootstrap_package_carousel = COA
tt_content.bootstrap_package_carousel {
    10 =< lib.stdheader
    20 = FLUIDTEMPLATE
    20 {
        file = {$plugin.bootstrap_package_contentelements.view.templateRootPath}Bootstrap/Carousel.html
        partialRootPath = {$plugin.bootstrap_package_contentelements.view.partialRootPath}
        layoutRootPath = {$plugin.bootstrap_package_contentelements.view.layoutRootPath}
    }
}

这样就设置了模板的路径。哦!花括号内的东西是常量。 事实证明,在开始时,我们可以设置一个完整的新路径,以包含bootstrap_package/Resources/Private/Templates/Page/中所有引导程序模板的副本并在那里进行修改。以及部分和布局,其他,更大和更小的流体模板块(参见http://typo3.org/documentation/article/the-fluidtemplate-cobject/)。

如果出于某种原因,您只想修改引导程序包中非常特定的部分,可以在TypoScript中设置类似的内容:

tt_content.bootstrap_package_carousel.20.file = /path/to/my/template/ext/Bootstrap/Carousel.html

现在你所要做的就是创建一个轮播模板的副本并随意编辑 - 在渲染过程中,你将使用自己的模板,间隔更快。

这也应该很好地展示了TypoScript的最重要的力量 - 你可以在页面树的任何一点为你想要的分支做这样的事情。

另外,我想指出我发现这是一个非常好的方法来创作TYPO3扩展:而不是像过去那样在后端设置几十个和几十个常量,我们现在有可更换的流体模板,结构清晰。这种方式更易于维护和使用!