typo3: CASE не работает с дополнительным полем в sys_file_reference

Я создаю с собственным расширением новое поле с именем «tx_references_special» в таблице «sys_file_reference». В элементах содержимого "textpic" в бэкенде typo3 я могу выбрать это поле, проверив этот массив на картинке в BE. Таким образом, в базе данных поле "tx_references_special" равно "0" или "1".

Я хотел бы определить классы только для изображений "с этим выбранным массивом" в текстовых элементах. Поэтому я создаю следующий типографский текст в файле main-template-setup. Проблема в том, что на этом CE для обеих картинок рендерится только класс "по умолчанию". Кто-нибудь знает, почему?

lib.projects=CONTENT
lib.projects{
table = tt_content
select {
where = header_layout = 14
}  
renderObj = COA
renderObj {
10 = TEXT
10.field = header
10.wrap=<div id="header_projects">|</div>

20 = TEXT
20.field = bodytext
20.wrap=<div id="bodytext_projects">|</div>

30=FILES
30{
  references{
    table=tt_content
    fieldName=image
  }

  renderObj=CASE
  renderObj{
    key.data=sys_file_reference:tx_references_special

    default=IMAGE
    default {
      wrap=<div class="default">|</div>
      file{
        width=313m
        height=220m
        import.data=file:current:publicUrl
      }

    }

    1=IMAGE
    1 {
      wrap=<div class="itworks">|</div>
      file{
        width=313m
        height=220m
        import.data=file:current:publicUrl
      }
    }
  }
}
}
}

person Andre    schedule 15.01.2015    source источник


Ответы (1)


Доброе утро,

У меня получилось по другому.

Моя цель состояла в том, чтобы назначить разные классы для фотографий, чтобы расположить их. Со следующим кодом это работает. Если я установлю значение в BE, изображение получит класс app_pic, а если я этого не сделаю, изображение получит значок класса.

lib.projects=CONTENT
lib.projects{
table = tt_content
select {
  where = header_layout = 14
}  
renderObj = COA
renderObj {
  10 = TEXT
  10.field = header
  10.wrap=<div id="header_projects">|</div>

  20 = TEXT
  20.field = bodytext
  20.wrap=<div id="bodytext_projects">|</div>

  30=FILES
  30{
    references{
      table=tt_content
      fieldName=image
    }

    renderObj=IMAGE
    renderObj{
      stdWrap.wrap=<div class="app_pic">|</div>
      stdWrap.wrap.override=<div class="icon">|</div>
      stdWrap.wrap.override.if {
        value=1
        equals.data=file:current:tx_references_special
      }
      file{
        width=313m
        height=220m
        import.data=file:current:publicUrl
      }
    }

    }
    }
    }
person Andre    schedule 16.01.2015