web-dev-qa-db-ja.com

一部の管理リンクのDrupal 7オーバーレイを無効にします

一部の管理リンクのDrupal 7オーバーレイを他のリンクではなく無効にする方法はありますか?

使いやすさの理由で、私が取り組んでいるサイトは、デフォルトのオーバーレイ動作を使用するいくつかの管理リンクから利益を得る一方、1または2は無効にすることから利益を得るでしょう。リンクの大部分はユーザーがオーバーレイで体験する方が理にかなっているので、一般的に有効にしたいのですが、JavaScriptが動作を更新しないようにいくつかの特定のリンクを禁止したままにしておくことができます。

4
acrosman

inizioの答えは非常に役に立ちます。私は他の解決策を見つけました(それは私のコンテキストで最終的に意味のあるものです)。

overlay-excludeのクラスをアンカータグに追加します。

<a class="overlay-exclude" href="/node/add/page">Create New Page</a>
5
acrosman

これがお役に立てば幸いです。

Drupal 7では、 hook_admin_paths_alter を使用してこれを達成できます

プログラムで

  • hook_admin_paths_alter:他のモジュールによって定義された管理パスを再定義します。

    function HOOK_admin_paths_alter(&$paths) {
      //return FALSE to the path where you don't want to show in OVERLAY
      $paths['node/*/edit'] = FALSE;
      $paths['node/add'] = FALSE;
      $paths['node/add/*'] = FALSE;
    }
  

モジュールの使用

  • オーバーレイパス :選択した非管理パスのオーバーレイを有効にしたり、選択した管理パスのオーバーレイを無効にしたりできます。
5
inizio

HOOK_admin_paths_alter()は非常に良いアイデアですが、指定されたパスには、管理テーマではなくフロントテーマを使用するようです。 overlay_paths モジュールは、問題なく動作するように思われる2番目の選択肢のままでした。

0
Ana