Typoscript изображение меняется каждые 15 дней - PullRequest
0 голосов
/ 11 июня 2018

Я бы хотел, чтобы изображение менялось каждые 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.

У вас есть хорошая идея изменить опечатку?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вы нашли важную деталь: вам нужно .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> 
0 голосов
/ 15 июня 2018

Я только что нашел решение, вместо 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
            }
    }

Может быть, есть более простое, если у вас есть идея, мне интересно.

С наилучшими пожеланиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...