Django 1.4.5 および Python 2.7.2 で Django-CMS 2.3.5 を使用しています。
基本テンプレートの 2 つ以上のメニューに表示する必要がある約 2 ダースのページがあります。
現在、プライマリ メニューとフッター メニューを使用しています。プライマリ メニューについては、id 'home' と多数の子を持つ「ホーム」ページを簡単に作成してから、{% show_menu_below_id "home" 0 100 100 100 %}
. 完璧に動作します。
フッター メニューについては、ページ ツリーに "Footer Menu" という偽のノードを作成し、id:footer-menu を使用してフッター メニュー項目を子として作成しました。次に、`{% show_menu_below_id "footer-menu" 0 100 100 100 %} を使用します。
メニュー内の各ページは、もちろんスラッグを含む 6 つの言語に翻訳されています。
問題は、フッター メニューの項目の URL が "/en/footer-menu/news/" のようになっていることです。これは単純に「/en/news/」にする必要があります。詳細 > フッター メニューの URL を「/」に上書きしようとしましたが、許可されていません。
そのため、各サブページで [Advanced] > [Overwrite URL] フィールドを使用して、URL を「/news」に設定します。英語でテストしている間、確かに「/en/news/」の URL を取得しますが、別の言語 (スペイン語など) に切り替えると、URL は「/es/footer-menu/noticia/」になります。
では、許可するにはどのような戦略を使用する必要がありますか。
- クライアントがアレンジ可能なメニュー - クライアントはメニューからページを作成/移動/削除できる必要があります
- 複数のメニュー
- i18N スラッグと
- "/< language >/" で項目を root 化しますか?
これをやりたいと思ったのは私が初めてではありませんよね?
すべてのアイデアを歓迎します。前もって感謝します!