我如何使用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>
渲染流体不是迭代过程,因此变量中的流体不会被渲染为流体。
如果您需要变体,则可以使用可由变量控制的局部变量
<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 {
:
}
}