Der integrierte Management-Befehl ./manage.py cms copy lang
kopiert die gesamte Seitenbaum von einer Sprache in eine andere. Der Seitenbaum bleibt unverändert und die Plugin-Bäume werden übertragen. Das ist in Ordnung, wenn Sie eine neue Sprache für die gesamte Website erstellen möchten.
Wenn Sie die Plugin-Bäume für nur eine Seite kopieren möchten, können Sie das Sprachmenü in der Symbolleiste verwenden: Language -> Copy all plugins
, wenn Sie die Zielsprache sehen sind. Das ist in Ordnung, wenn Sie nur eine Seite haben.
Wenn Sie eine Sprache für einen Seitenbaum, dh eine Seite Bootstrap wollen und alle seine Kinder, dann entweder Sie haben eine Menge zu tun klicken, oder verwenden Sie diesen kurzen Management Befehl, den ich auf der Grundlage der ursprünglichen DjangoCMS erstellt ./manage.py cms copy long
Befehl. Es erlaubt, eine Seite zu spezifizieren, um entweder durch seine Identifikation oder durch seinen Namen in der Quellsprache zu kopieren (Aufmerksamkeit: es muss einzigartig sein).
Kopieren Sie this snippet in einen beliebigen Befehlsordner Ihrer Anwendung: my_app/management/commands/
. Sobald Sie die Datei kopiert haben, steht Ihnen ein neuer Django-Verwaltungsbefehl zur Verfügung: ./manage.py copylang
. Anwendungsbeispiele:
./manage.py copylang --from-lang=en --to-lang=nl --tree="Home"
./manage.py copylang --from-lang=en --to-lang=nl --tree_id=36 --force
Die Seiten-ID für die --tree_id
Option benötigt wird, kann leicht von der Seite Admin abgeleitet werden, indem man die Maus über das Symbol Vorschau Seite. Die Seiten-ID ist Teil der Link: .../Seite/PAGE_ID/lang/Vorschau/...
Wenn Sie die --tree
auslassen und die --tree_id
Optionen der Befehl an DjangoCMS des zufällt original cms copy lang
Verhalten.