Используйте v:content.render в Contentelement

Я пытаюсь отобразить некоторые элементы с другой страницы с помощью жидкости в партиале и пытаюсь использовать v:content.render. Как вы можете видеть в коде, я хочу отобразить 3 элемента со страницы с Uid 9. Но как только у меня есть элемент v:content.render, я просто получаю пустую страницу.

Итак, мой вопрос: как использовать v:content.render или какая у меня есть альтернатива? Или мне все еще нужно использовать Typoscript для этого?

{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<div class="footer2">

    <v:content.render column="0" limit="3" pageUid="9" as="contentElements">
      <f:for each="{contentElements}" as="contentElement" iteration="footerIteration">
        <f:format.html>{contentElement.bodytext}</f:format.html>
      </f:for>
    </v:content.render>

</div>

Я не уверен, важно ли это, но элементы на странице 9 также являются элементами гибкого контента.


person nbar    schedule 25.02.2015    source источник


Ответы (2)


Я нашел решение, которое работает:

<v:variable.set name="contentElements" value="{v:content.get(column:'0', limit:'3', pageUid:'9',  render:'FALSE')}" />

  <f:for each="{contentElements}" as="contentElement" iteration="footerIteration">
    <v:content.render contentUids="{0:contentElement.uid}" />
    <f:format.html>{contentElement.bodytext}</f:format.html>
  </f:for>
person nbar    schedule 25.02.2015

Я думаю, что ваша первая попытка была более читабельной. {contentElement} уже имел то, что вам нужно, свойства bodytext не будет, если вы оставите render по умолчанию true.

<v:content.render column="0" pageUid="9" limit:"3" as="contentElements">
    <f:for each="{contentElements}" as="contentElement">
        <f:format.raw>{contentElement}</f:format.raw>
    </f:for>
</v:content.render>

Если вы не знаете, с чем вы вернетесь в as="" для работы, просто попробуйте отладку:

<v:content.render column="0" pageUid="9" limit:"3" as="contentElements">
    <f:for each="{contentElements}" as="contentElement">
        <f:debug inline="true">{contentElement}</f:debug>
    </f:for>
</v:content.render>

И я заменил <f:format.html> на <f:format.raw>, чтобы предотвратить нежелательные <p></p>

person bandanh    schedule 06.07.2019