web-dev-qa-db-ja.com

ユーザープロファイルにカスタムメニューを配置する方法

以下のようにユーザーメニューを作成しました

My Account

Edit Profile および Me alias モジュールを使用しており、メニューシステムは以下のとおりです。

  1. アカウントの編集:user/uid/edit
  2. プロファイルの編集:user/uid/edit-profile
  3. ログアウト:user/logout

これは正常に動作しますが、http://localhost/userまたはhttp://localhost/users/uname(以前のURLのエイリアス)に表示できません。このページだけにこのメニューを表示したかったのです。

ブロックの「表示設定」で、「リストされたページのみ」オプションを使用して、userusers/mehttp:// localhost/userhttp:// localhost/users/meですが、メニューがユーザーページに表示されません。他のページで確認するとうまくいきます。原因は何でしょうか?

3
AjitS

私はこれを2日間探していて、賞金を獲得することにしました。しかし、ソリューションがとてもシンプルであることを知りませんでした。私はDrupalの新規インストールで同じことを試みましたが、うまくいきました。そして、モジュールを1つずつ追加し続け、変更の機能を再度テストしました。無効にした後、私にはそのように見えました- メニュートークン モジュール、要件は完全に機能しました。
次に、間違ったトークンの交換を行ったかどうかを確認しました。そして、私が使っていたメニュー構造は以下の通りでした

-My Accountwith path[node:url:absolute]これは私が同じものにダイレクトするだろうと思ったページ。
----パスuser/me/editを使用してアカウントを編集
----Edit Accountwith pathuser/me/edit-profile
----Logoutwith pathuser/logout

そして、上記の質問とコメントで説明したように、ブロックのVisibility settingsの* user/**としてパスを指定しました(企業テーマのハイライト)、

問題が特定されました(私によると)私はユーザープロファイルページを私が今間違っていると思うノードと考えていたので、トークン[node:url:absolute]は実際には間違ったトークンだったため、メニューがユーザーページに表示されませんでした。私がしたことはそれを単に[current-page:url]に変更しました(ユーザーが同じページにいることを望んでいたため、それを達成するためのメニューのパス))下の図に示すように、同じ可視性設定を使用し、それは機能しました:)
基本的に、親メニューパスが間違っていたため、問題が発生しました。それにもかかわらず、それは良い学習経験でした!

My Account menu

2
AjitS

あなたの設定はうまくいきます、私は同じシナリオを試しました。添付のスクリーンショットを参照してください。

enter image description hereモジュールとテーマのリストを指定します

enter image description here

enter image description here

enter image description here

There is some miss configuration or Module conflict for sure.

Specify the list of modules + theme

1
niksmac