如何使用 Typo3 Fluid 渲染 Mask 复选框?
How to render a Mask checkbox with Typo3 Fluid?
我已经为 Typo3 创建了一个带有 Mask 的内容元素,编辑可以在其中 select 提供支付选项。然而,在流体模板中,返回一个带有位掩码的整数,而不是每个单独的选项。
mask 建议的默认渲染是:
{f:if(condition: data.tx_mask_ue_payment_accepted, then: 'On', else: 'Off')}
data.tx_mask_ue_payment_accepted 的结果可以从 0(无 selected)到 511(所有 9 个选项 selected)。有没有人设法用 for 循环或任何适当的方式顺利实现复选框,如果是的话如何实现?
非常感谢!
我在当前的 FE 插件的几个区域使用了位掩码,但没有找到比在显示表单之前在控制器操作中映射 field-value-pairs 更好的方法。
为此,我实现了两种方法,将当前位掩码值转换为单独的布尔值(反之亦然)。我将这些值绑定到一个数组并将其作为复选框显示在流畅的 for 循环中(不使用 extbase 直接 属性 映射)。
也许这会让某人走上正确的方向,即使它没有准备好复制和粘贴的解决方案。
流体:
<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:'')}>
如您所见,我们返回一个数组 "return",其中包含传输表单中的值。如果值存在,我们将复选框设置为 "checked"。
我已经为 Typo3 创建了一个带有 Mask 的内容元素,编辑可以在其中 select 提供支付选项。然而,在流体模板中,返回一个带有位掩码的整数,而不是每个单独的选项。
mask 建议的默认渲染是:
{f:if(condition: data.tx_mask_ue_payment_accepted, then: 'On', else: 'Off')}
data.tx_mask_ue_payment_accepted 的结果可以从 0(无 selected)到 511(所有 9 个选项 selected)。有没有人设法用 for 循环或任何适当的方式顺利实现复选框,如果是的话如何实现?
非常感谢!
我在当前的 FE 插件的几个区域使用了位掩码,但没有找到比在显示表单之前在控制器操作中映射 field-value-pairs 更好的方法。
为此,我实现了两种方法,将当前位掩码值转换为单独的布尔值(反之亦然)。我将这些值绑定到一个数组并将其作为复选框显示在流畅的 for 循环中(不使用 extbase 直接 属性 映射)。
也许这会让某人走上正确的方向,即使它没有准备好复制和粘贴的解决方案。 流体:
<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:'')}>
如您所见,我们返回一个数组 "return",其中包含传输表单中的值。如果值存在,我们将复选框设置为 "checked"。