0

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

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

首先,我需要在页面(例如所有者)和数据对象(汽车)之间创建关系。一个车主可以创建许多与该车主相关联的汽车。但是,我有另一个页面(车库),它可以创建链接到每个车主的汽车。如果车主不想要其中一辆汽车,他们就会拒绝它。我在想 manymanydataobjectmanager 对那一点有好处。

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

真正让这件事变得尴尬的是,当一切都设置好后,我需要输出 JSON,其中将包含车主创建的汽车和他们从车库接受的汽车,而不是他们拒绝的汽车。我在想我需要另一个像链接表一样的表,但可能有一个状态列?

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

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

4

1 回答 1

1

你用的是银条3吗?您能否澄清后端发生的操作以及前端用户可能执行的操作?

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

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

问候,弗洛里安

于 2012-08-27T17:47:24.940 回答