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/PagesOverheadなしで関係を管理する機会を与えます。たとえば、所有者を持つためだけにSitetree Elementを作成することは、実際のページとして表される所有者が本当に必要な場合を除いて、最善の方法ではありません。代わりに、所有者を単なるDataobjectにすることもできます。

特に、最終的にJSONだけを出力したい場合は、Sitetree / Pagesから完全に独立している可能性があります...ルーティングルールを使用してカスタムコントローラーを作成すると、必要なデータだけが返されます: http:// doc.silverstripe.org/framework/en/topics/controller

よろしく、フロリアン

于 2012-08-27T17:47:24.940 に答える