2012-05-25 11 views
6

Das django-cms verwendet immer die oberste Seite als Start-/Zielseite. Ich möchte jetzt eine Navigation haben, die so aussieht foo-home-bar und home, um die Zielseite zu sein.Wählen Sie die Startseite django-cms

Eine Möglichkeit wäre, eine Attrappe bei/hinzuzufügen, die nach/home umleitet, aber das erscheint mir ein bisschen grob. Gibt es eine bessere Lösung? Es macht mir nichts aus, den Code des CMS selbst zu ändern.

Antwort

3

Der einfachste Weg, um eine Seite, die Umleitung zu erstellen, ist einfach zu Django Redirect generische Ansicht verwenden.

Set es in Ihrem Top-Level-urls.py

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

und natürlich am Anfang der from django.views.generic.base import RedirectView Import hinzufügen, und Sie sollten alle eingestellt werden.

('^$') fängt nur die Root-URL und die RedirectView-Umleitung, wo immer Sie wollen. Ich war ein bisschen unsicher über die Verwendung selbst, aber ich sah viele große Websites eine Umleitung, wenn Sie auf ihrer Website ...)

1

Die erste Seite, die Sie erstellen, scheint die Startseite zu sein, fügen Sie einfach weitere Stammseiten hinzu und aktivieren Sie die Navigation auf ihnen. Das habe ich getan.

Unsere erste Seite war Test und dann einige untergeordnete Seiten. In der Admin-Seite können Sie die Seiten anklicken und ziehen, um die Kinder-/Eltern-Reihenfolge zu ändern. Wir haben test to home umbenannt und die untergeordneten Seiten auf eine andere root-Seite verschoben.

Sie können das Standardmenü auch überschreiben, indem Sie eine Vorlage im Menü/menu.html erstellen. Dort können Sie die Reihenfolge überschreiben, indem Sie einige if-Anweisungen hinzufügen. Sie können auch sie in Ihrem base.html codieren wie das Menü etwas mit: <ul id=menu> <li><a href="/foo/>foo></a></li> <li><a href="/">Home</a></li> {% show_menu %} <ul>

Und haben nur eine Bar und die anderen Seiten, die Sie in der Navigation wollte aber nicht foo oder zu Hause.

Die Homepage hat ein Symbol darauf, dass die anderen Seiten nicht, die Wurzelseite, denke ich.

0

Die Seite mit der baumnummer mit der niedrigsten Nummer in der Tabelle cms_page ist die Startseite. Dies ist normalerweise die erste Seite, die Sie erstellt haben. Wenn Sie auf Ihrer Homepage eine andere Seite erstellen möchten, können Sie die Werte für tree_id in Ihrer Datenbank manuell ändern (aber leider nicht mit dem admin.)