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

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

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

Payment option selection with Mask content element

掩码建议的默认渲染是:

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

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

提前谢谢了!

typo3 typoscript fluid typo3-extensions tx-mask
2个回答
0
投票

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

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


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:'')}>

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

© www.soinside.com 2019 - 2024. All rights reserved.