我想每15天更换一次图片。或者一个月两次。当日期介于1和15之间时是一个图像,如果它是16到30,则另一个,等等,是一年中的24个图像。我希望它是管理图像变化的typoscript。
我采取了以下的typosript:
lib.headerlogo1 = COA
lib.headerlogo1 {
10 = LOAD_REGISTER
10 {
divSem.cObject = TEXT
divSem.cObject {
data = date:U
strftime = %U
current = 1
setCurrent.data = date:U
setCurrent.wrap = |/2
prioriCalc = 1
}
}
20 = FILES
20 {
references {
data = levelmedia: -1, slide
}
renderObj = IMAGE
renderObj {
file.import.dataWrap = {file:current:storage}:{file:current:identifier}
#file.import.listNum = 0
altText.data = file:current:title
# Affiche bien la valeur de : divSem
#stdWrap.insertData = 1
#stdWrap.wrap = <div class="banner{register:divSem}">|</div>
}
# insertData = 1
insertData = 1
# IT'S FAILLED !!
begin = {register:divSem}
maxItems = 1
}
30 = TEXT
30 {
stdWrap.insertData = 1
stdWrap.wrap = <div class="{register:divSem}">|</div>
}
}
问题是我无法启动注册表begin = {register:divSem}
的值...它始终从0开始!你有好主意吗 ? 30 = TEXT
中寄存器的显示是正确的。
你有一个好主意修改typoscript吗?
我刚刚找到了解决方案,而不是begin = {register: divSem}
,我这样做了:
begin.cObject = TEXT
begin.cObject {
value = 0
value.override.cObject = CASE
value.override.cObject {
key.data = register:divSem
1 = TEXT
1.value = 1
2 = TEXT
2.value = 2
...
24 = TEXT
24.value = 24
default = TEXT
default.value = 2
}
}
也许有更简单的,如果你有想法,我很感兴趣。
最好的祝福。
您找到了重要的细节:您需要一个.cObject
来填充简单属性中的任何数据。
为什么如此复杂的CASE
输出与键相同?
所以最简单的方法是:
begin.cObject = TEXT
begin.cObject.data = register:divSem
也许这也像你在.30
那样工作:
begin = {register:divSem}
begin.insertData = 1
和你的.30
更直接的方式:
而不是.insertData
为.wrap
使用.dataWrap
begin.stdWrap.dataWrap = {register:divSem}
:
30 = TEXT
30.dataWrap = <div class="{register:divSem}">|</div>