Typo3 Fluid - добавить счетчик в динамической c форме - PullRequest
0 голосов
/ 27 февраля 2020

просто я просто хочу иметь счетчик, который начинается с 0 и увеличивается каждый раз, когда условие if внутри my для каждого истинно. Я знаю, как этого добиться в javascript. Контрвар должен находиться перед Entry внутри Label.

<f:for each="{house.offers}" as="offer" key="index">
            <f:if condition="{offer.offerCategory} == {category}">
                <f:then>
                    <div class="form-element-wrap removable">
                        <label class="label" for="{index}"> **Entry** for {category.title}</label>
                        <f:form.hidden name="house[offers][{index}][__identity]" value="{offer.uid}" />
                        <f:form.textfield name="house[offers][{index}][title]" id="{index}" class="text form-element" value="{offer.title}" />
                        <button class="remove-button" role="button" aria-label="delete-button"></button>
                    </div>
                </f:then>
                <f:else>
                    <f:form.hidden name="house[offers][{index}][__identity]" value="{offer.uid}" />
                </f:else>
            </f:if>
        </f:for>

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

До TYPO3v8 вы могли использовать EXT:vhs, который дает вам вспомогательную панель для установки переменных Fluid.

Расчет можно выполнить с помощью TypoScript, тогда:

<v:variable.set name="counter"><f:cObject typoscriptObjectPath="lib.calc" data="{counter} + 1" /></v:variable.set>
lib.calc = TEXT
lib.calc.current = 1
lib.calc.prioriCalc = 1
1 голос
/ 27 февраля 2020

Fluid в TYPO3v8 и новее поддерживает переменные, которые устанавливаются во время выполнения при рендеринге шаблона. Он также поддерживает базовый c математический , поэтому вы должны быть в состоянии достичь того, что вам нужно, таким образом:

<f:variable name="counter">0</f:variable>

<f:for ...>
    <f:if ...>
        <f:variable name="counter">{counter + 1}</f:variable>
        {counter}
    </f:if>
</f:for>
...