如何交付在模板外部创建的TYPO3流体形式元素?

问题描述 投票:0回答:1

我如何使用PHP交付准备好的流体形式元素并使它们在流体模板中进行处理?

类似:

控制器:

public function indexAction(): void {
  $html = '<div class="wrap">
                    <f:form.textfield name="email" value=""/>
                    <f:form.textfield name="token" value="[email protected]"/>
                </div>';
  $this->view->assign('elements', ['data' => $html]);
}

索引模板:

<f:form ...">
    <div class="F">{elements.data -> f:format.raw()}</div>
</f:form>
typo3
1个回答
1
投票

渲染流体不是迭代过程,因此变量中的流体不会被渲染为流体。

如果您需要变体,则可以使用可由变量控制的局部变量

<f:if condition="{var1} == 'long'">
<f:then>
    <render partial="longVersion" arguments="{_all}" />
</f:then>
<f:else>
    <render partial="shortVersion" arguments="{_all}" />
</f:else>
</f:if>

您甚至可以使用变量来直接选择部分:

<f:render partial="Part_{var1}" arguments="{_all}" />

另一种方法是将渲染的Fluid插入变量中。在Typoscript中,这个库尔是这样的:

10 = FLUIDTEMPLATE
10 {
    template = outer
    variables {
        part1 = FLUIDTEMPLATE
        part1 {
            template = inner
            variables {
                :
            }
        }
        :
    }
}

或动态:

<f:cObject typoscriptObjectPath="lib.subtemplate">
lib.subtemplate = FLUIDTEMPLATE
lib.subtemplate {
    template = inner
    variables {
        :
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.