1

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/​​」になります。

では、許可するにはどのような戦略を使用する必要がありますか。

  1. クライアントがアレンジ可能なメニュー - クライアントはメニューからページを作成/移動/削除できる必要があります
  2. 複数のメニュー
  3. i18N スラッグと
  4. "/< language >/" で項目を root 化しますか?

これをやりたいと思ったのは私が初めてではありませんよね?

すべてのアイデアを歓迎します。前もって感謝します!

4

1 に答える 1

0

解決策は、上書き URL が言語ごとに異なる 2.4.x にアップグレードすることです。

于 2013-06-12T11:27:12.287 に答える