2017-01-31 11 views
1

Django CMSをテストしています。すべての言語で1回ページを作成する方法を探しています。現在、私は各言語の新しいページを作成しなければならず、コンテンツ/プラグイン/構造は異なる言語間で共有されていません。すべての言語のページ構造を一度に作成

これを達成する方法はありますか?事前

答えて

0

ビルトイン管理コマンド./manage.py cms copy langコピーを別の言語からページ全体ツリー内の

感謝。ページツリーは変更されず、プラグインツリーが転送されます。もしサイトの新しい言語をブートストラップしたいのであれば問題ありません。

あなたは1ページのみのためのプラグインの木をコピーしたい場合は、ツールバーから言語メニューを使用することができます:あなたはターゲット言語を表示している場合Language -> Copy all plugins。 1ページしかなければ、これは問題ありません。

あなたはページツリーの言語をブートストラップしたい場合、すなわちページとそのすべての子供たち、そしてあなたがするクリックの多くを持っているか、私が作成したこの短い管理コマンドは、元のDjangoCMSに基づいて使用します./manage.py cms copy longコマンド。それは、そのIDまたはソース言語の名前でコピーするページを指定することができます(注意:一意でなければなりません)。

this snippetをアプリケーションのコマンドフォルダ:my_app/management/commands/にコピーします。ファイルをコピーしたら、新しいDjango管理コマンドを利用できます:./manage.py copylang。使用例は:

./manage.py copylang --from-lang=en --to-lang=nl --tree="Home" 
./manage.py copylang --from-lang=en --to-lang=nl --tree_id=36 --force 

--tree_idオプションのために必要なページIDが簡単にページのプレビューアイコンの上にマウスを移動して、ページの管理者から推測することができます。ページIDは、リンクの一部である:... /ページ/ page_idの/LANG /プレビュー/ ...

あなたは--tree--tree_idオプションを省略した場合、コマンドはDjangoCMSのオリジナルcms copy langに戻ります動作。

関連する問題