Рендеринг шаблонов контента в TYPO3

У меня странная проблема с отрисовкой контента.

Я использую следующий код для получения содержимого:

lib.otherContent = CONTENT
lib.otherContent {
  table = tt_content
  select {
    pidInList = this
    orderBy = sorting
    where = colPos=0
    languageField = sys_language_uid
  }

  renderObj = COA
  renderObj {
    10 = TEXT
    10.field = header
    10.wrap = <h2>|</h2>
    20 = TEXT
    20.field = bodytext
    20.wrap = <div class="article">|</div>
  } 
}

и все работает нормально, за исключением того, что я хотел бы использовать также предопределенные шаблоны содержимого столбца, отличные от простого текста (Текст с изображением, Только изображения, Маркированный список и т. д.).

Возникает вопрос: чем я должен заменить renderObj = COA, а остальное между скобками, чтобы TYPO3 отображал это правильно?

Спасибо, я.


person Ireneusz Sawicki    schedule 22.10.2010    source источник


Ответы (1)


Доступные объекты cObject более или менее перечислены в TSRef, chapter 8.

TypoScript для рендеринга текста с изображением можно найти в typo3 / sysext / css_styled_content / static / v4.3 / setup.txt в строке 724, а поблизости вы найдете, например, bullets (внизу) и изображение (вверху), на которое имеется ссылка в строке 731 textpic. Варианты этого - то, что вы напишете в вашем renderObj.

Более подробную информацию вы найдете в файле typo3 / sysext / cms / tslib / class.tslib_content.php, где, например, текст с изображением находится в строке 897 или около нее и называется IMGTEXT (поиск с учетом регистра). См. Также строку 403 в typo3 / sysext / css_styled_content / pi1 / class.cssstyledcontent_pi1.php, где выполняется более новый рендеринг на основе css.

person norwebian    schedule 25.10.2010
comment
Значит, нет никакого автоматического способа визуализировать столбец содержимого? Например (если у меня есть одна подстраница с содержимым, определенным как IMGTEXT, BULLET, TABLE и вторая TABLE, BULLET) фрагмент кода, который будет отображать IMGTEXT, затем BULLET, затем TABLE, а на другой подстранице TABLE, затем BULLET? И я должен писать разные TS для каждой подстраницы с разным макетом контента? - person Ireneusz Sawicki; 26.10.2010
comment
Если вы просто хотите визуализировать столбец без каких-либо манипуляций с визуализацией, вы просто опускаете определение renderObj и позволяете TYPO3 делать свое дело. Ни ТЕКСТА, ни фигурных скобок. Просто таблица = .. и выберите {...}. - person norwebian; 26.10.2010
comment
Это странно - если я возьму контент так, как вы сказали (без renderObj), у меня не будет визуализированного контента на странице. Я использую следующие TS для размещения содержимого в шаблоне: marks.CONTENT ‹lib.otherContent - person Ireneusz Sawicki; 26.10.2010
comment
Вы можете попробовать присвоить renderObj его значение по умолчанию [renderObj = ‹tt_content] (см. TSREf, глава 8.9). По крайней мере, я могу управлять результатом (показывать / не показывать) с помощью этого параметра в моей установке. Но у меня, конечно, работает и без него. Все равно попробуйте! Надеюсь это поможет. :-) - person norwebian; 26.10.2010
comment
Кстати, просто подумайте: у вас есть один из статических файлов содержимого в стиле CSS, включенных в вашу запись шаблона? Я только что провел несколько тестов, и без файла CSC (я использую файл для версии 4.3) я получаю проблему, которую вы, кажется, описываете. Он должен быть на левой панели на вкладке «Включить». - person norwebian; 27.10.2010
comment
Проблема была с отсутствием включения, решена, и я должен вам пиво. :-) - person Ireneusz Sawicki; 27.10.2010