在 SS CMS 中编辑(以及添加和删除)数组数据的最佳方法是什么?

What's the best way to edit (also add and delete) array data in the SS CMS?

我正在尝试获取一个网格字段来显示数据数组,而不是 SS_List DataObjects。因此,我解码了一个 JSON 字符串以创建一个 class 实例数组,并希望在网格字段的行中显示这些对象的(几个)字段。我没有使用普通的 DataObjects 来防止版本化关系不同步,所以我 JSON 父对象上的相关数据。

如果有比网格场更简单的解决方案:我洗耳恭听! 那么,我怎样才能为它的行加载一个带有(数组)数据的网格字段?或者,在 SS CMS 中编辑(以及添加和删除)数组数据的最佳方法是什么?

通读源代码 API 并没有让我走得太远,所以这就是我问你的原因!

如果您使用包含 ArrayData 个条目的 ArrayList,您应该会有些运气。 ArrayList 实现 SS_List,你应该通过你的 GridFieldConfig 禁用任何涉及编辑、添加、删除等的组件(或者只使用一个空的开始)。

$myList = ArrayList::create();
foreach ($yourData as $values) {
    $myList->push(ArrayData::create($values));
}

$gridField = GridField::create('MyGrid', null, $myList, GridFieldConfig_Base::create());