【问题标题】:Typoscript image change every 15 days排版图像每 15 天更换一次
【发布时间】:2018-06-11 12:47:45
【问题描述】:

我想每 15 天更换一次图片。或者一个月两次。当日期在 1 到 15 之间时为图像,如果是从 16 到 30 则为另一个,依此类推,则为一年中的 24 图像。我希望它是管理图像更改的打字稿。

我抄录了以下错别字:

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中的寄存器显示是正确的。

你有修改错字的好主意吗?

【问题讨论】:

    标签: image typoscript


    【解决方案1】:

    我刚刚找到了解决方案,而不是 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
                }
        }
    

    也许还有更简单的,如果你有想法,我很感兴趣。

    最好的问候。

    【讨论】:

      【解决方案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> 
      

      【讨论】:

        猜你喜欢
        • 2015-12-25
        • 2022-06-09
        • 2011-03-16
        • 2021-04-05
        • 2015-04-30
        • 2011-05-01
        • 2019-01-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多