メニューでURLエイリアスを使用するにはどうすればよいですか?


14

Drupal 7では、テストサイトをスピンアップしてタイヤを蹴っています。

Danlandテーマを選択し、それぞれにURLエイリアスを使用してさまざまなページを作成しましたが、それぞれにメニューリンクを作成するとき、エイリアスではなくメニューリンクの「パス」フィールドにのみノードを入力できます。そのため、メニューに「about-us」(ノードのエイリアス)ではなく「node / 20」のみを入力できます。

メニュー項目をノードではなくエイリアスに解決したいのですが。
それ、どうやったら出来るの?


3
表示されると、メニューリンクは定義されたパスエイリアスを使用します。これで十分でない理由は何ですか?
ベルディール

私はそれをしていないようです。私はどこかいくつかの設定が不足しているかどうかはわかりません- エイリアスとして機能するreboot.researchvessels.org/about-usを参照してくださいが、メニューリンクをそこに移動させることはできません。パスフィールドは、外部URLまたはノード参照のみを受け入れます。
cpuguru

私は同じ問題を抱えています。私の「メインメニュー」はエイリアスで正常に機能します。新しいメニューを作成しました。エイリアスを保存しないのはこれだけです。さらに、「node / 10」に移動したときに別のページをクリックすると、メニューリンクに「node」が追加され、「node / node / 10」「node / node / 11」を指すため、完全に壊れます。など。絶対パスを使用すると、正しいページに移動しますが、メニューでアクティブなページを自動的に認識できるようにしたいのですが、絶対URLが現在のパスであることを認識しません。 cssクラス「アクティブ」が適切に設定されていません。私はdrupal 7.2

回答:


7

コメントで言及されたBerdirや回答で言及され Gregと同様に、パスエイリアスを追加する次の方法はJust Work ™である必要があります。

  • ノードの作成/編集中にノード送信フォームに追加する
  • Pathautoを使用して、ノードのエイリアスを自動的に作成します。
  • 設定検索とメタデータURLエイリアスに移動してエイリアスを手動で追加します

それをしていないというのは奇妙です。[ 設定] →[ 開発] →[ パフォーマンス]に移動して、キャッシュをクリアしてみてください。これにより、Drupalのメニューが再構築され、パスエイリアスが正しく表示されるようになります。


1
グローバルリダイレクトはURL出力にのみ影響し、リンク出力には影響しないと思いましたか?私はすべてのサイトで最初からグローバルリダイレクトを使用しています。Drupalがそれなしでどのように動作するのかわかりません。
グレッグ

@Gregあなたは正しいです。可能な回避策として追加しましたが、コアの問題を解決するために実際には何もしませんので、削除しました。

エイリアスは機能します。メニューにエイリアスパスを宛先として入力できず、外部URLまたは「node / x」のみを入力できます。メニューエントリの「about-us」に移動するように指示することはできません。「node / 20」のみです。質問は、ノードではなく宛先としてエイリアスを入力するにはどうすればよいですか?
cpuguru

キャッシュをクリアし、削除して、About Usページを再作成しましたが、それでも喜びはありませんでした。
cpuguru

私は、グローバルリダイレクトモジュールをインストールしていないし、まだ運- drupal.org/project/globalredirect
cpuguru

4

URLエイリアスが作成された言語とは異なる言語でサイトを閲覧している可能性もあります。ドイツ語(たとえば)での閲覧中にエイリアスを作成すると、英語モードでサイトを閲覧している訪問者には、引き続きnode / 234234が表示されます。ただのヒント。


0

ノードの追加/編集フォームを使用してパスエイリアスとメニューエントリの両方を割り当てる場合、作成されたメニュー項目はエイリアスパスを使用します。単純なユースケースでは、admin/config/search/pathページでエイリアスを手動で作成したり、ページでメニューエントリを手動で作成したりする必要はありませんadmin/structure/menu


エイリアスを作成できます。エイリアスに直接アクセスしても機能しますが、エイリアスを使用するようにメニューを構成する方法が見つかりません。使用可能な唯一のオプションは、パスフィールドの「node / xx」のようです。リンクをクリックすると、URLエイリアスではなくアドレスフィールドにsite / node / xxが表示されます。
cpuguru

@cpuguru-ノードのエイリアスとメニュー項目を削除し、ノード編集フォームからエイリアスとメニュー項目を再作成した場合、メニュー項目はまだエイリアスを使用していませんか?
グレッグ

いいえ、「パートナーシップ」ページでもう一度試しました。エイリアスとメニュー項目を削除してから、「パートナーシップ」ページを追加し、エイリアスを追加してメニューに追加しても、メニューには「node / 21」として表示されます。
cpuguru

0

Danlandテーマを使用して新しいd7インストールを試したところ、正常に動作しました。機能しない場合は、メニューで常に外部URLを指定できますか?「http://yourdomain.com/about-us」などの「node / 1」の代わり


0

DrupalインストールをDrupal 7から新しくリリースされたDrupal 7.2にアップデートすると、問題が修正されたようです。Drupal 7.2にアップデートする場合、アップデートスクリプトが機能するためには、元のPDO SQL Serverドライバーの上にインストールする必要がある、リリースされたばかりのアップデートされたSQL Serverドライバーのいずれかでした。

どちらにしても、メニューリンクをクリックするとエイリアスURLが表示されます。したがって、Drupalコア7.2でのコードの変更か、SQL Serverドライバーの更新のいずれかです。私はそれがどれであるか100%確信していません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.