10月CMS创建一个多选表单字段 [英] October CMS create a multi select Form field

查看:173
本文介绍了10月CMS创建一个多选表单字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在10月份的Cms后端表单(fields.yaml)中创建一个多选表单字段。我申请了以下方法:

select_field:

      label:Sample
     类型:dropdown

     属性:{multiple:'multiple'}



这个字段的选项将从模型中调用



一切正常,但是当我提交表单时,只有第一个选中的选项被插入为数据库表文本字段中的JSON数据。我希望每个选定的选项都被存储。我也已经声明这个字段在模型中是Jsonable,例如,protected $ jsonable = ['field_name'];



注意:当我使用类型 checkboxlist 时,它按照我的想法工作,但我不想要成为checkboxlist。我是新来的十月cms是否有任何简单的方法..

解决方案

你不能使用具有多个值的下拉字段因为它是为了处理单一的价值。作为复选框和广播这就是为什么有checkboxList(我猜)。

但我找到了一个解决方案。
在fields.yaml中使用partial作为字段类型,而不是下拉菜单

https://octobercms.com/docs/backend/forms#field-partial



创建一个部分(注意名称属性中的[]这就是它工作的原因!)



但请注意,这只是一个窍门,您只能使用直接yaml选项分配 https://octobercms.com/docs/backend/

 <?php 
$ fieldOptions = $ field-> options ();
//将字段值作为数组获取
$ selectedValues =(array)$ field-> value;

?>
<! - 下拉菜单 - >
<?php if($ this-> previewMode):?>
< div class =form-control><?=(isset($ fieldOptions [$ field-> value]))? e(trans($ fieldOptions [$ field-> value])):''?>< / div>
<?php else:?>

发送“验证码”获取 | 15天全站免登陆