在配置部分使用自定义 ViewHelper

Using a custom ViewHelper in the configuration section

我写了一些 ViewHelpers,它们工作得很好,但只在 Main-Section 中...为了更好地理解:

<f:section name="Configuration">
  <flux:field.select name="first" label="first" items="{0: '10', 1: '40'}"/>
  <flux:field.select name="second" label="second" items="{myViewHelpers:load()}"/>
</f:section>
<f:section name="Preview">
</f:section>
<f:section name="Main">
  {myViewHelpers:load()}
</f:section>

{myViewHelpers:load()} returns 一个字符串,例如

{0: '10', 1: '40'}

在主要部分这完全有效,但如果我在配置部分使用相同的 ViewHelper,它就不会再加载后端...我在 Typo3 中只得到一个空白字段,其中通常元素会出现。

如有任何建议,我将不胜感激!

您的 ViewHelper return 是 return 中的一个字符串,被流体解释为数组(大括号)。所以 fluid 什么也打印不出来。您确定不需要将该数组传递给另一个 ViewHelper,例如 flux:field.select?

如果您需要从 ViewHelper 生成可用的数组,您应该使用

$templateVariableContainer = $renderingContext->getTemplateVariableContainer();
$templateVariableContainer->add($arguments['myNewVariable'], $array);

然后您可以像往常一样访问您的变量:

{myNewVariable.0}