メニューに次の設定があるDRupalサイトのENバージョンにメニューが表示されません。
フランス語を選択するとすべて問題ありませんが、英語を選択すると何も表示されません(両方のメニューにコンテンツがあります)
ブロックセクションで、2つのメニューが無効になっているのがわかります。
私を助けてくれてありがとう:-)
メニューに次の設定があるDRupalサイトのENバージョンにメニューが表示されません。
フランス語を選択するとすべて問題ありませんが、英語を選択すると何も表示されません(両方のメニューにコンテンツがあります)
ブロックセクションで、2つのメニューが無効になっているのがわかります。
私を助けてくれてありがとう:-)
メニューブロックの contrib モジュールを使用することをお勧めします。
このモジュールを使用すると、メニューをブロックとして扱うことができます。
2 つのブロック (各メニューに 1 つ) を作成し、ブロック管理ページで各ブロックの言語を指定できます。
多言語 Web サイトでは、2 つのメニューを使用する方が常に簡単です。また、問題が発生しないように、言語ごとに異なるビュー ページを使用することを好みます。そうすれば、対応するメニューへのパスを簡単に追加できます。多言語ビューとメニューを組み合わせようとするたびに、多くの問題に直面しました。
あなたが含めたスクリーンショットには、2 つのメニューがあることがわかります。
まず第一に、言語に応じてメニューに名前とタイトルを付ける方が簡単だと思います。そうしないと混乱しやすいからです。つまり、メイン メニュー英語 - main_menu_en です。
次に、特定の地域でメイン メニュー リンクをレンダリングするように構成されたテーマによって印刷されるため、フランス語メニューはおそらく機能します。英語メニューを機能させるには、次のいずれかを行う必要があります。
a)テーマに必要なコードを追加する、または
b)テーマのメイン メニューのコードを削除し、ブロック管理ページから目的の領域に配置された 2 つのメニュー ブロックを使用します。各ブロックのブロック設定では、表示する言語を選択できます。
他の人が言ったように、次のものが必要です: menu_block
テーマにメニューを追加または削除する際にサポートが必要な場合は、使用しているテーマをお知らせください。
通常、drupal で目標を達成するにはいくつかの方法があるため、回避策の提案を次に示します。
達成するための 7 つのステップがあります。
ステップ 1:すべてのモジュールを有効にする
オプション:
ステップ 2:言語を追加する
[構成] > [地域と言語] > [言語] に移動します
デフォルトの言語は英語です。[<strong>言語の追加] リンクを使用して、定義済み言語またはカスタム言語を追加できます。
ステップ 3:検出と選択
このチュートリアルでは、「<strong>URL プレフィックス」</strong> 設定を使用することにしました。これにより、Drupal はスペイン語に domain.com/es を使用し、ドイツ語に domain.com/de を使用するように指示されます。
手順 4:コンテンツ タイプの多言語サポートを有効にする
既存のコンテンツ タイプを作成または編集し、[<strong>公開オプション] をクリックします。ここでは、多言語サポートを有効にするオプションが表示されます。[<strong>有効、翻訳あり] を選択します。これにより、ノードを複数の言語に翻訳できます。
ステップ 5:英語のコンテンツを作成する
ノードを作成するときは、「<strong>中立言語」だけでなく、正しい言語を使用していることを確認してください。URL エイリアスとメニュー リンク タイトルを作成すると、どのメニューにリンクを配置するかがわかるため、これは重要です。
ノードを作成すると、「<strong>translate」タブが表示されます。このタブをクリックすると、このノードに翻訳を追加できます。
「<strong>Translation Overview」モジュールがインストールされている場合 (強くお勧めします)、追加した言語、優先度が必要な言語などを示す素敵な小さなウィンドウが表示されます。
ステップ 6:翻訳済みコンテンツの作成
翻訳を作成するときは、翻訳されたメニュー リンクのタイトルを付けますが、元のノードと同じ URL エイリアスを付けます。多言語サポートがインストールされているため、同じ URL エイリアスを使用してもエラーは発生しません (スペイン語のノードを domain.com/es に、ドイツ語のノードを domain.com/de に配置していることを思い出してください)。
ステップ 7:多言語メニューのサポートを追加する
[構造] > [メニュー] > [メイン メニュー] に移動します。メニューを編集し、[<strong>翻訳とローカライズ] オプションを有効にします。これにより、ユーザーがサイト全体で選択した言語に応じて、メニュー項目が切り替わります。
英語のメニュー項目とスペイン語の項目の両方があることがわかります。これらは好きなように注文できますが、スペイン語がメイン メニューとして選択されている場合は、スペイン語のリンクのみが表示されることに注意してください (URL には domain.com/es と表示されているのでわかります)。
最終製品:フロント エンドでアクションを見ることができます。
i18n_menu_navigation_links関数も使用できます。