数据对象和页面关系

时间:2012-08-27 11:00:53

标签: silverstripe

http://www.silverstripe.org/archive/show/1638

以上帖子似乎就是我应该做的,但我只需要一些帮助就可以解决这个问题。

首先,我需要在页面(例如,所有者)和数据对象(Car)之间创建关系。车主可以创建许多与该车主相关联的车辆。但是,我有另一个页面(车库)可以创建链接到每个所有者的汽车。如果车主不想要其中一辆车,他们就会拒绝。我当时认为很多人对象管理员都会对此有所帮助。

每个所有者应该只能在CMS中看到与他们直接相关的汽车,而不是其他汽车,所以我使用dataobjectmanager并使用组为页面分配权限。

真正令人尴尬的是,当它全部设置时,我需要输出JSON,其中包括车主创建的车辆和他们从车库接受的车辆,而不是他们拒绝的车辆。我想我需要另一个像链表这样的表但可能有一个状态列?

为了澄清,我的问题是如何以建设性的SilverStripe方式创建这个混乱?我采取的方法是正确的还是有更好的方法?

非常感谢,如果我不清楚,请告诉我。

1 个答案:

答案 0 :(得分:1)

你正在使用silverstripe 3吗? 你能澄清一下后端发生的动作,以及前端用户可能采取的行动吗?

也许对于你们的关系,使用ModelAdmin会更好: http://doc.silverstripe.org/framework/en/reference/modeladmin 它使您有机会在没有Sitetree / Pages Overhead的情况下管理关系。例如,创建一个Sitetree元素只是为了拥有一个所有者不是最好的方式 - 除非你真的需要一个表示为真实页面的所有者。所有者也可以只是一个Dataobject。

特别是如果你想最后输出JSON,你可能完全独立于Sitetree / Pages ...那么你可以编写一个带有路由规则的自定义控制器,它可以为你提供所需的数据: http://doc.silverstripe.org/framework/en/topics/controller

的问候, 弗洛里安