2012-05-25 59 views
6

django-cms總是使用最頂層頁面作爲開始/着陸頁面。我現在想有一個像這樣的導航foo-home-bar首頁成爲登陸頁面。選擇起始頁面django-cms

一種方法是在/重定向到/ home時添加一個虛擬頁面,但這對我來說似乎有點粗糙。有沒有更好的解決方案?我不介意改變cms本身的代碼。

回答

3

最簡單的方法,而不是創建一個重定向的頁面就是使用django的重定向通用視圖。

一套它在你的頂級urls.py

url(r'^$', RedirectView.as_view(url='/home/')), 

當然,在開始處添加from django.views.generic.base import RedirectView進口,你應該準備就緒。

'^$'只會捕獲根網址和RedirectView重定向到任何地方,我自己有點不確定,但我看到很多主要網站在進入他們的網站時做重定向... )

1

您所做的第一頁似乎是主頁,只需根據需要添加其他根頁面並啓用導航。這就是我所做的。

我們的第一頁是測試,然後是一些子頁面。在管理頁面中,您可以單擊並拖動頁面以更改子/父訂單。我們將測試重命名爲home,並將子頁面移動到另一個根頁面。

您也可以通過在menu/menu.html中創建一個模板覆蓋默認菜單 在那裏您可以通過在某些if語句中添加命令來覆蓋順序。 你也可以硬編碼在具有菜單像你base.html文件: <ul id=menu> <li><a href="/foo/>foo></a></li> <li><a href="/">Home</a></li> {% show_menu %} <ul>

,只是有酒吧,您在導航想,但不是foo或家庭其他網頁。

該主頁上有一個圖標,其他頁面不會顯示,表示我猜的根頁面。

0

cms_page表中編號最小的tree_id的頁面是主頁。這通常是您創建的第一頁。如果您想在主頁上創建不同的頁面,則可以手動更改數據庫中的tree_id值(但不幸的是不能使用管理員)。