2017-01-31 33 views
1

我正在測試Django CMS,我正在尋找一種方法來爲所有語言創建一次頁面。目前,我必須爲每種語言創建一個新頁面,而內容/插件/結構不會在不同語言之間共享。一次爲所有語言創建頁面結構

有沒有辦法做到這一點?

在此先感謝

回答

0

內置的管理命令./manage.py cms copy lang副本從一種語言到另整個頁面樹。頁面樹保持不變,並且插件樹被傳輸。如果您想爲整個網站引導一種新語言,那很好。

如果你想複製插件樹只有一個頁面,則可以使用語言菜單工具欄上:Language -> Copy all plugins,如果你正在查看目標語言。這很好,如果你只有一個頁面。

如果你想啓動一個語言的頁面樹,即頁面及其所有的孩子,那麼你要麼有大量的點擊做,或使用我創建在原有基礎上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/ /預覽/ ...

如果你離開了--tree--tree_id選項命令將恢復到DjangoCMS的原始cms copy lang行爲。