Элементы TYPO3 Fluid -> f: count () выберите поле и f: widget.paginate - PullRequest
0 голосов
/ 21 марта 2019

У меня сейчас следующая проблема:

У элемента есть разные переменные, которые я выбираю просто через выбор в TCA. Теперь с моим виджетом нумерации страниц я хочу выбрать только те элементы, которые имеют эту переменную 1.

Конечно, если я устанавливаю условие в пределах нумерации страниц, оно не работает, потому что оно вычисляет их на этих страницах (что предполагает больше страниц, чем фактически существует).

<f:if condition="{items -> f:count()} > 1">
 <f:then>
     <f:widget.paginate objects="{items}" as="paginatedItems" configuration="{itemsPerPage: 10, insertAbove: 0, insertBelow: 0, maximumNumberOfLinks: 10}">
         <f:for each="{paginatedItems}" as="item">
             <f:if condition="{item.variable} == 1">
                <div>.....</div>
            </if>
        </f:for>
    </f:widget.paginate>
</f:then>
<f:else>

1 Ответ

1 голос
/ 22 марта 2019

Вы должны вычислить разбиение на страницы для подвыбора таким образом, чтобы исключить все нежелательные записи перед тем, как передать массив элементов в помощник по просмотру страниц.

  • Либо вы получаете этот отбор непосредственноиз хранилища (создайте новый запрос)
  • или вы выделите массив элементов в другую переменную жидкости, как это делается с помощью ext:news (оценка уже показанных записей)

Я бы предпочел первое решение, если это возможно, поскольку производительность должна быть лучше и она также масштабируема.

...