it-swarm.com.de

Erzwingen, dass eine Seite im Admin-Design gerendert wird (Overlay-Modus)

Gibt es eine Möglichkeit, das Rendern einer Seite im Admin-Design zu erzwingen, wie Seiten, deren Pfad mit 'admin /' beginnt?

13
hpn

Es gibt ein Contrib-Modul ThemeKey das

mit dieser Option können Sie einfache oder ausgefeilte Regeln für den Themenwechsel definieren, die die automatische Auswahl eines Themas in Abhängigkeit vom aktuellen Pfad, den Taxonomiebegriffen, der Sprache, dem Knotentyp und vielen, vielen anderen Eigenschaften ermöglichen. Es kann auch einfach erweitert werden, um zusätzliche Eigenschaften zu unterstützen, die von anderen Modulen bereitgestellt werden. In Kombination mit der Themenvererbung von Drupal und den ThemeKey-Eigenschaften können Sie auf einfache Weise Funktionen wie Folgendes erzielen:

individuell gestaltete Kanäle, ein Titelseiten-/"Begrüßungs" -Bildschirm, ein mit Datum und Uhrzeit ausgewähltes Weihnachtsmotiv für mobile Themen für verschiedene automatisch erkannte Mobilgeräte, spezielle Themen für "eingeschränkte" oder "alte" Browserinhalte, Benutzer- oder rollenspezifische Themen Anzeige Ihrer Umgebung (Produktion, Staging, Test, Sandbox, ...) Testen Sie Ihr Redesign sicher auf einem Live-Server

Überprüfen Sie auch die verwandte Frage hier .

4
Refineo

Sie können dies auch tun, indem Sie ein benutzerdefiniertes Modul erstellen.

Methode 1

Verwenden Sie diese Option, wenn Sie eine vorhandene Seite basierend auf dem internen Pfad von Drupal (auch als Pfadquelle bezeichnet) thematisieren möchten. In diesem Beispiel wird hook_custom_theme verwendet.

<?php
function MYMODULE_custom_theme() {
  // match node/1
  if (arg(0) == 'node' && arg(1) == '1') {
    return variable_get('admin_theme');
  }
}

Methode 2

Verwenden Sie diese Option, wenn Sie eine vorhandene Seite basierend auf dem URL-Pfad (auch als Pfadalias bezeichnet) thematisieren möchten. In diesem Beispiel wird auch hook_custom_theme verwendet.

<?php
function MYMODULE_custom_theme() {
  // get arguments
  $arg = explode('/', substr(request_uri(), strlen(base_path())));
  // match {wildcard}/path 
  // Using strpos as $arg[1] may end up having stuff like so ?order=title&sort=asc
  if (isset($arg[1]) && strpos($arg[1], 'path') !== false && !isset($arg[2])) {
    return variable_get('admin_theme');
  }
}

Methode 3

Verwenden Sie diese Option, wenn Sie ein Thema erstellen und eine Seite erstellen möchten. In diesem Beispiel wird hook_men verwendet. Um mehr zu erfahren, schauen Sie sich einen anderen an großartiger Artikel auf hook_men .

<?php
function MYMODULE_menu() {
  $items = array();

  // match some/path
  $output['some/path'] = array(
    'title' => t('Page Title'),
    'page callback' => 'MYMODULE_page',
    'theme callback' => 'variable_get',
    'theme arguments' => array('admin_theme'),
  )
}

function MYMODULE_page() {
  return 'Hello world.';
}
14
timofey.com

Wenn Sie ein Modulentwickler sind, können Sie mit hook_admin_paths definieren, welche Pfade mit dem Verwaltungsthema gerendert werden sollen.

7
Daniel

Geben Sie der Seite einfach einen Pfad, der mit admin beginnt: 'admin/mypage'

4
MediaFormat
  1. Diese Funktionalität befindet sich jetzt im D7-Kern.

  2. Es gibt ein Modul, das "hook_admin_paths" effektiv für die Benutzeroberfläche verfügbar macht: https://drupal.org/project/admin_theme

1
aaronbauman