บังคับให้แสดงหน้าในธีมผู้ดูแลระบบ (โหมดวางซ้อน)


13

มีวิธีบังคับให้แสดงหน้าเว็บในธีมผู้ดูแลระบบหรือไม่เช่นเดียวกับหน้าที่เส้นทางเริ่มต้นด้วย 'admin /'

คำตอบ:


4

มีธีม Contribเป็นโมดูลที่

อนุญาตให้คุณกำหนดกฎการสลับธีมที่เรียบง่ายหรือซับซ้อนซึ่งอนุญาตให้เลือกธีมโดยอัตโนมัติโดยขึ้นอยู่กับพา ธ ปัจจุบันคำศัพท์อนุกรมวิธานภาษาภาษาโหนดชนิดและคุณสมบัติอื่น ๆ อีกมากมาย นอกจากนี้ยังสามารถขยายได้อย่างง่ายดายเพื่อรองรับคุณสมบัติเพิ่มเติมที่เปิดเผยโดยโมดูลอื่น เมื่อใช้ร่วมกับการสืบทอดธีมของ Drupal และคุณสมบัติของ ThemeKey คุณสามารถใช้คุณสมบัติต่าง ๆ เช่น:

ช่องสไตล์สไตล์หน้าจอ / "สแปลช" หน้าจอธีมวันที่ / เวลาที่เลือกธีมคริสต์มาสสำหรับอุปกรณ์มือถือที่ตรวจพบอัตโนมัติชุดรูปแบบพิเศษสำหรับเนื้อหา "เบราว์เซอร์" หรือ "เก่า" ของเบราว์เซอร์ผู้ใช้หรือธีมธีมเฉพาะ ระบุสภาพแวดล้อมของคุณ (การผลิต, การจัดเตรียม, การทดสอบ, แซนด์บ็อกซ์, ... ) ทดสอบการออกแบบของคุณอย่างปลอดภัยบนเซิร์ฟเวอร์สด

ตรวจสอบคำถามที่ยังเกี่ยวข้องกับที่นี่


14

คุณสามารถทำได้โดยการสร้างโมดูลที่กำหนดเอง

วิธีที่ 1

ใช้สิ่งนี้หากคุณต้องการกำหนดธีมของหน้าเว็บที่มีอยู่โดยอิงตามพา ธ ภายในของ Drupal (แหล่งที่มาของเส้นทางที่รู้จัก) ตัวอย่างนี้ใช้hook_custom_theme

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

วิธีที่ 2

ใช้สิ่งนี้หากคุณต้องการกำหนดธีมของหน้าเว็บที่มีอยู่ตามเส้นทาง URL (นามแฝงเส้นทางที่รู้จัก) ตัวอย่างนี้ยังใช้hook_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

ใช้สิ่งนี้หากคุณต้องการธีมและสร้างหน้า ตัวอย่างนี้ใช้hook_menu ที่ $ ต้องการเรียนรู้เพิ่มเติมให้ดูที่อื่นบทความดีดีใน hook_menu ที่ $

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


4

เพียงให้เส้นทางกับหน้าเริ่มต้นด้วยผู้ดูแล: 'ผู้ดูแลระบบ / mypage'


1
ทำไมต้องลงคะแนน? ฟังก์ชั่นนี้อยู่ในแกน D7 คำถามไม่ได้ระบุว่าเป็นรุ่นใด แต่ในช่วงเวลาที่โพสต์คำถามที่ D7 เปิดตัว
MediaFormat

ใช่ IMO แสดงความคิดเห็นที่สมบูรณ์แบบอย่างสมบูรณ์แบบ
Countzero

2
ดูเหมือนว่าหน้าเว็บที่กำหนดเองที่เริ่มต้นด้วย 'admin /' ไม่จำเป็นต้องโหลดธีมผู้ดูแลระบบ
DrCord

สมบูรณ์แบบและเรียบง่ายสำหรับมุมมอง!
Patoshi パトシ

สิ่งนี้ใช้ไม่ได้
Christia

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.