2012-08-27 101 views
0

http://www.silverstripe.org/archive/show/1638數據對象和頁面的關係

上述職位好像這是我應該做的,但我只是需要一些幫助,在我腦海中整理了這一點。首先,我需要在頁面(例如Owner)和數據對象(Car)之間創建一個關係。車主可以創建與該車主鏈接的多輛車。但是,我有另一個頁面(車庫),可以創建鏈接到每個所有者的汽車。如果車主不想要這些車中的一輛,他們會拒絕。我在想,許多人數據對象管理員會爲這一點做好準備。

每個車主應該只能看到與CMS內的車輛直接相關的車輛,而不是其他人車輛,所以我使用了dataobjectmanager並使用組爲用戶分配權限。

真正使這種尷尬的事情是,當它全部建立起來時,我需要輸出JSON,它包括車主創建的汽車和他們從車庫接受的汽車,而不是他們拒絕的汽車。我想我需要另一個表像鏈接表,但與狀態欄也許?

爲了澄清,我的問題是如何以建設性的SilverStripe方式創建這個混亂?我採取的方法是正確的還是有更好的方法?

非常感謝,並請告訴我,如果我一直不清楚。

回答

1

你使用silverstripe 3嗎? 您能否澄清在後端發生了什麼操作,以及前端用戶可以執行哪些操作?

也許你的關係還可以更好使用的ModelAdmin: http://doc.silverstripe.org/framework/en/reference/modeladmin 它給你的管理關係,而不Sitetree /頁開銷的機會。例如,創建一個Sitetree元素只是爲了擁有一個所有者不是最好的方式 - 除非你真的需要一個所有者表示爲一個真實的頁面。所有者也可以只是一個DataObject。

特別是如果您最終只想輸出JSON,您可能完全獨立於Sitetree/Pages ......那麼您可以使用路由規則編寫自定義控制器,並且可以只返回所需的數據: http://doc.silverstripe.org/framework/en/topics/controller

問候, 弗洛裏安

+0

我使用的是2.4.7。我已經想出了一些我現在只有一個具體問題的事情。是否有可能將現有信息拖入數據對象管理器,因爲我在這樣做時遇到了麻煩。我的意思是我希望管理員看到數據對象管理員(或某事)中的所有車輛以及用戶只能看到與他們特別相關的車輛。 – MillyMonster

+0

嘿,我沒有太多的數據對象管理經驗。你需要什麼? – spierala

+0

我已經通過使用管理頁面的manymanydataobjectmanager解決了這個問題。謝謝你的幫助。 :) – MillyMonster