2011-03-20 56 views
3

我正在開發一個plone4站點,每個用戶都有一個可排序的項目庫存。 ATFolder的folder_content視圖對此非常理想。唯一的問題是,而不是像這樣的URL:作弊遍歷

/site/user/inventory 

或本

/site/inventory/user 

的URL應該是:

/site/inventory 

我在幾個解決方案思想,但每人們有自己的疑慮。

  • 根據經過驗證的用戶使庫存內容爲動態。我甚至不知道這是否可能在plone上。
  • 不知怎的,作弊的橫向機制,所以/網站/庫存渲染/網站/庫存/用戶。
  • 在渲染視圖之前更改上下文。再次,不知道是否可能。
  • 使庫存成爲ATCTContent的子類,將庫存數據作爲註釋存儲在用戶上,並由我自己開發訂購代碼。這是我試圖避免的選項。

你會怎麼做?

謝謝。

+0

這應該如何實現,尤其是當庫存用戶的庫存可能具有相同的庫存項目ID時?在這裏處理ID衝突是沒有辦法的。當然,您可以根據自己的需要使用重寫規則自由地重寫網站URL。但是,這不會解決您使用相同ID的問題。 – 2011-03-20 17:26:25

回答

8

那麼,很容易定義一個inventory視圖,然後使用Authenticated User來呈現它的內容,這可能是存儲在/ site/users/user /文件夾中的有序文件夾的簡單委託。

你必須記住的一件事是用戶認證發生在遍歷之後。這意味着當實例化一個視圖(調用方法爲__init__)時,沒有用戶確定,因爲在遍歷期間會發生這種情況。請在視圖__call__或從其模板中查找您的用戶。

3

使文件夾內容顯示不是文件夾內容的內容是crraaaaAAAAzytalk。 :)不要這樣做。要麼爲每個用戶(/ inventory/user)創建一個文件夾,要麼創建一個名爲inventory.html的自定義視圖。你可以製作/盤點sho /庫存用戶,但這是讓Plone變得非笨拙的東西的一個步驟,這就是一個痛苦的世界。

我不知道爲什麼你不能只稱它/庫存/用戶?看起來很簡單。然後在用戶視圖中,通過儀表板鏈接粘貼一個動作,並完成! :-)

Plone是一個內容管理系統。使用它,因爲它應該被使用,你會很高興。試圖強迫它做它不想要的事情就像試圖用裝飾藝術雕塑建造一輛跑車。它可能最終看起來很棒,但它運行得不好。 :-)

+0

是的,我知道我在和Plone戰鬥,那不是一件好事。但要求是要求。 – jdinunzio 2011-03-22 14:11:16