テストサイトを回転させて、Drupal 7でタイヤを蹴っています。
私はDanlandテーマを選択し、それぞれにURLエイリアスを含むさまざまなページを作成しましたが、それぞれにメニューリンクを作成するとき、メニューリンクの[パス]フィールドにのみノードを入力でき、エイリアスは入力できません。そのため、メニューに「node/20」のみを入力でき、「about-us」(ノードのエイリアス)は入力できません。
メニュー項目をノードではなくエイリアスに解決してほしい。
それ、どうやったら出来るの?
私のDrupalインストールからDrupal 7に新しくリリースされたDrupal 7.2にアップデートすると、問題が修正されました。 Drupal 7.2にアップデートする場合、アップデートスクリプトが機能するために、元のPDO SQL Serverドライバーの上にインストールする必要がある、リリースされたばかりのアップデートされたSQL Serverドライバー。7.2。
どちらの方法でも、メニューリンクをクリックするとエイリアスURLが表示されます。したがって、Drupal core 7.2 OR SQL Serverドライバーの更新で、コードが変更された可能性があります。どちらであるかは100%わかりません。
コメントで言及されたBerdirと 彼の答え で言及されたGregのように、パスエイリアスを追加する次のメソッドはJust Work™である必要があります。
それがしていないのは変だ。 Configuration→Development→Performanceに移動して、キャッシュをクリアしてみてください。これにより、Drupalのメニューが再構築され、パスエイリアスが正しく表示されます。
また、エイリアスが作成されたURLとは異なる言語でサイトを閲覧している可能性もあります。ドイツ語(たとえば)で閲覧中にエイリアスを作成した場合、サイトを英語モードで閲覧している訪問者には引き続きnode/234234が表示されます。ほんのヒント。
パスエイリアスとメニューエントリの両方を割り当てる場合ノードの追加/編集フォームを使用の場合、作成されたメニュー項目はエイリアスパスを使用します。単純な使用例では、admin/config/search/path
ページでエイリアスを手動で作成したり、admin/structure/menu
ページでメニューエントリを手動で作成したりする必要はありません。
Danlandテーマを使用して新しいd7インストールを試したところ、正しく動作しました。あなたがそれを機能させることができないなら、あなたはいつでもあなたのメニューで外部URLを指定することができますか? 「node/1」の代わりに「http://yourdomain.com/about-us」など
テーマテンプレートは、次の方法でURLエイリアスで上書きできます。
コードの完全な説明は drupal管理者とURLエイリアス で作成されたページのテンプレートを作成する方法)に記載されています。