2013-11-19 3 views
3

Можно ли отображать содержимое страницы (предположительно несколько, скажем, изображение + текстовые статьи) с использованием Fluid? Я хотел бы иметь больше контроля над html (это обоснованная причина?). Я попытался извлечь что-то, что, как я думал, может быть массивом некоторых объектов (строк) через TypoScript, но когда назначается переменной и используется в жидкости: для нее возникает строка и, следовательно, ошибка типа, поэтому это не работает:Как визуализировать содержимое страницы с помощью Fluid

arr = COA 
arr.10 = CONTENT 
arr.10 { 
    table = tt_content 
    select { 
    languageField=sys_language_uid 
    where = colNum = 1 
    } 
} 

<f:for each="{arr}" as="article" iteration="itemIteration"> 
abcd 
</f:for> 

ответ

6

Вы не можете этого сделать из коробки. Но расширение «vhs» позволяет вам это сделать, посмотрите на RenderViewHelper.

Это даст вам первое 10 содержимого на colPos 0 на странице 5 и сохранит их в переменной contentElements. Затем вы перебираете объекты контента:

<v:content.render column="0" limit="10" pageUid="5" as="contentElements"> 
    <f:for each="{contentElements}" as="contentElement"> 
    <f:format.html>{contentElement.bodytext}</f:format.html> 
    </f:for> 
</v:content.render> 
+1

Спасибо, это, вероятно, приближает меня к тому, что мне нужно, но код, который вы отправили, даже с фиксированным тегом закрытия, не выводит ничего. Я предполагаю, что это потому, что contentElement является строкой и не имеет свойства bodytext. {contentElement} работает, но отображает тот же html, который я получил бы с TypoScript, поэтому у меня больше нет контроля над структурой, чем раньше. –

+1

Альтернативной версией, которая возвращает исходные записи контента, является 'v: content.get' - те же аргументы, что и' v: content.render'. –

+0

Вышеупомянутая ссылка находится на сайте seoparking. Я предполагаю, что это новый сайт для помощника вида рендеринга: https://fluidtypo3.org/viewhelpers/vhs/master/Content/RenderViewHelper.html – AMartinNo1

Смежные вопросы