C1 Orckestra - 全局数据类型可以有1对多的关系吗?

时间:2017-11-12 22:19:59

标签: c1-cms orckestra-cms

是否可以创建具有1对多关系的全局数据类型?

实施例

Create a global datatype for Dogs (some object on the website) 
ID is a unique 8 character random string 
Each Dog has several properties. (color, size, and so on) 
Each Dog has many pictures. (as many as you would like, 1toMany)

我可以看到如何为字段分配“C1媒体文件夹”,但我们想要实现的是,当您编辑Dog的数据(或添加新数据)时,您可以添加尽可能多的图片就像你现在想要的那样。如果媒体文件夹是在创建新Dog的数据对象时创建的,并且它使用来自它们的唯一ID Dog对象来命名媒体文件夹,那将是很好的。这让我们接近我们想要的东西,但它仍然意味着您必须跳转到媒体库以上传您想要绑定到Dog对象的图像。

如果使用当前的C1控制台无法做到这一点,那么C1 API是否允许我们编写自己的方法来将图像添加到媒体库?

谢谢。

1 个答案:

答案 0 :(得分:1)

在我看来,你的问题不是100%具体,这里有很多事情都应该有自己的问题。

为了回答我所看到的基于标题的主要问题,答案是你可以用两种方式来做。

  1. Dog对象的图片字段将包含以逗号分隔的媒体项ID列表。这是执行1-many关系的“C1”方式,也是C1控制台中所有内置多选择器小部件支持的方式。

  2. 创建一个单独的关系持有者对象,称之为DogPictureRelation,它引用了Dog对象和Media对象。如果图片的顺序很重要,也许是LocalOrdering字段。这是数据库世界中更正确的方式 - 我们称之为关系表,但遗憾的是内置小部件不支持这一点,您必须创建自己的图片选择器小部件才能使用这种数据结构。