Змусити відображення сторінки в темі адміністратора (режим накладання)


13

Чи є спосіб змусити відображення сторінки в темі адміністратора, як сторінки, що їх шлях починається з "адміністратора /"?

Відповіді:


4

Є модуль Contrib ThemeKey що

дозволяє визначати прості або складні правила перемикання тем, які дозволяють автоматичний вибір теми залежно від поточного шляху, термінів таксономії, мови, типу вузла та багатьох, багатьох інших властивостей. Його також можна легко розширити, щоб підтримувати додаткові властивості, що піддаються іншим модулям. У поєднанні з успадкуванням теми Drupal та властивостями ThemeKey ви можете легко досягти таких функцій, як:

індивідуально-стильові канали на головній сторінці / "сплеску", на екрані дату / час, вибрану різдвяну тему для мобільних тем для різних автоматично виявлених мобільних пристроїв, спеціальні теми для "обмеженого" або "старого" вмісту веб-переглядачів, користувачів або рольових тем вказуючи на те, що ваше середовище (виробництво, постановка, тестування, пісочниця,…) тестує своє перепроектування на безпечному сервері

Перевірте також пов'язане питання тут .


14

Ви також можете зробити це, зробивши спеціальний модуль.

Спосіб 1

Використовуйте це, якщо ви хочете тематизувати існуючу сторінку на основі внутрішнього шляху Drupal (також джерела шляху). У цьому прикладі використовується гак_custom_theme .

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

Спосіб 2

Використовуйте це, якщо ви хочете тематизувати існуючу сторінку на основі шляху URL-адреси (псевдонім шляху). У цьому прикладі також використовується гак_custom_theme .

<?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');
  }
}

Спосіб 3

Використовуйте це, якщо ви хочете тематизувати та створити сторінку. У цьому прикладі використовується гак_меню . Щоб дізнатися більше, погляньте на ще одну чудову статтю на гачку_меню .

<?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.';
}

7

Якщо ви розробник модуля, ви можете використовувати гачку_admin_paths, щоб визначити, які шляхи потрібно відобразити з темою адміністрування.


4

Просто дайте сторінці шлях, починаючи з адміністратора: 'admin / mypage'


1
Чому потік? Ця функціональність є в ядрі D7, питання не вказує, в якій версії, але під час плакатів питання D7 було випущено.
MediaFormat

Так, досконалий коментар IMO.
графзеро

2
не здається, що користувацькі сторінки, що починаються з "admin /", обов'язково завантажують тему адміністратора.
DrCord

ідеальний і спрощений для поглядів!
Патоші パ ト シ

Це не працює.
Крістен

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.