如何使用Typo3 Fluid渲染Mask复选框?

时间:2018-03-04 17:18:53

标签: typo3 typoscript fluid typo3-extensions tx-mask

我已经使用Mask for Typo3创建了一个内容元素,编辑器可以选择提供的付款选项。但是,在流体模板中,返回带有位掩码的整数,而不是每个单独的选项。

Payment option selection with Mask content element

mask建议的默认渲染是:

{f:if(condition: data.tx_mask_ue_payment_accepted, then: 'On', else: 'Off')}

data.tx_mask_ue_payment_accepted的结果可以从0(未选择)到511(选择所有9个选项)变化。有没有人设法顺利实现带有for循环或任何适当的复选框,如果是这样的话?

非常感谢提前!

2 个答案:

答案 0 :(得分:0)

我在当前的FE插件的几个区域中使用位掩码,并且没有找到比在显示表单之前映射控制器操作中的字段值对更好的方法。

为此我实现了两个方法,它们将当前位掩码值转换为单独的布尔值(反之亦然)。我将这些值绑定到一个数组并将其显示在一个流体for循环中作为复选框(不使用extbase直接属性映射)。

答案 1 :(得分:0)

即使没有复制粘贴准备的解决方案,这也可能使人朝着正确的方向前进。 流体:

<input type="checkbox" name="tx_myext[checkbox][0]" value="1" id="checkbox0" class="checkbox" {f:if(condition:'{return.checkbox.0} == "1"',then:'checked="checked"',else:'')}>
<input type="checkbox" name="tx_myext[checkbox][1]" value="1" id="checkbox1" class="checkbox" {f:if(condition:'{return.checkbox.1} == "1"',then:'checked="checked"',else:'')}>

如您所见,我们得到了一个“返回”数组,其中包含来自传输表格的值。如果值存在,我们将复选框设置为“选中”。