Drupal 8の管理から、ブロック(カスタムモジュールから作成されたブロック)を/ user/*ページに表示するように構成しました。
できます;このブロックは/ user/*および/ user/*/editページにあります。ここで、/ user/*/editページ(編集モード)ではなく、/ user/*ページ(表示モード)からのみブロックを表示したいと思います。
Drupal管理ページから実行できますか? "!/ user/*/edit"を追加してテストしましたが、効果はありません。
できない場合、カスタムモジュールからどうすればよいですか?
このモジュールを使用する場合、感嘆符プレフィックスはパスを除外するために機能します: https://www.drupal.org/project/block_exclude_pages
Drupal 8の場合は ルート条件モジュール をインストールし、entity.user.canonical
条件を使用します。
drupal 7ユーザーの場合、 Context モジュールを使用して、ページをパス/ user/*および〜/ user/*/edit /に追加するだけで、編集ページを除外できます。
独自のカスタムブロックプラグインの場合は、ノード編集ページでビルド関数にnullを返させることができます。
ブロックを表示する正確なルート(ページ)を指定できる Route Condition というモジュールがあります。したがって、ユーザープロファイルページの場合、ルートはuser.entity.canonical
(実際にはモジュールページの例です。