web-dev-qa-db-ja.com

匿名ユーザーのみにメニューリンクを表示する

ユーザー登録リンクをaccountメニューのメニュー項目として表示する必要があります。 links.menu.ymlを使用してメニューにリンクを追加できます。

メニューリンクは、匿名ユーザーと認証済みユーザーの両方に表示されますが、管理ユーザーロールには表示されません。

ユーザーの役割に関係なく、ログインしたユーザーのメニュー項目を非表示にするにはどうすればよいですか?

1
Malabya Tewari

役割に関係なく、認証されたユーザーからメニュー項目を非表示にするすべてのオプションを試してみましたが、管理者には常に表示されます。 CSSと Menu Link Attributed モジュールを使用しましたか?モジュールを使用してメニューリンクにクラスを追加し、ボディクラスuser-logged-inログインしたユーザーのメニュー項目を非表示にしました。

私はまだ他の選択肢とより良い解決策を受け入れています。

1
Malabya Tewari

ここで誰かが再びぶつかった場合、私はテーマを使用して、usingモジュールを使用せずにそれを実現できる2つの方法を見つけました。

1)カスタムCSSの使用:

.user-logged-in .menu.menu--account a[href="/user/register"] { display: none; }

2)カスタムJSの使用:

$('.user-logged-in').find('.menu.menu--account a[href="/user/register"]').hide();

テーマのカスタマイズ の場合にのみ適用されます。

1
Saiful

これを行うには、いくつかのメニューでグループ参照を登録します。登録済み-ゲスト用-別など。次に、ページにメニューが表示される単位表示を構成します。登録されたユニットは、登録されたメニューのみを表示します。

0
Wise Ltd.

ロールごとのメニュー モジュールを試してください。新しいメンテナはdrupal.orgプロジェクトを引き継ぐことを試みていますが、彼のコードはGithubにあります。

0
albertski