มีวิธีบังคับให้แสดงหน้าเว็บในธีมผู้ดูแลระบบหรือไม่เช่นเดียวกับหน้าที่เส้นทางเริ่มต้นด้วย 'admin /'
มีวิธีบังคับให้แสดงหน้าเว็บในธีมผู้ดูแลระบบหรือไม่เช่นเดียวกับหน้าที่เส้นทางเริ่มต้นด้วย 'admin /'
คำตอบ:
มีธีม Contribเป็นโมดูลที่
อนุญาตให้คุณกำหนดกฎการสลับธีมที่เรียบง่ายหรือซับซ้อนซึ่งอนุญาตให้เลือกธีมโดยอัตโนมัติโดยขึ้นอยู่กับพา ธ ปัจจุบันคำศัพท์อนุกรมวิธานภาษาภาษาโหนดชนิดและคุณสมบัติอื่น ๆ อีกมากมาย นอกจากนี้ยังสามารถขยายได้อย่างง่ายดายเพื่อรองรับคุณสมบัติเพิ่มเติมที่เปิดเผยโดยโมดูลอื่น เมื่อใช้ร่วมกับการสืบทอดธีมของ Drupal และคุณสมบัติของ ThemeKey คุณสามารถใช้คุณสมบัติต่าง ๆ เช่น:
ช่องสไตล์สไตล์หน้าจอ / "สแปลช" หน้าจอธีมวันที่ / เวลาที่เลือกธีมคริสต์มาสสำหรับอุปกรณ์มือถือที่ตรวจพบอัตโนมัติชุดรูปแบบพิเศษสำหรับเนื้อหา "เบราว์เซอร์" หรือ "เก่า" ของเบราว์เซอร์ผู้ใช้หรือธีมธีมเฉพาะ ระบุสภาพแวดล้อมของคุณ (การผลิต, การจัดเตรียม, การทดสอบ, แซนด์บ็อกซ์, ... ) ทดสอบการออกแบบของคุณอย่างปลอดภัยบนเซิร์ฟเวอร์สด
คุณสามารถทำได้โดยการสร้างโมดูลที่กำหนดเอง
วิธีที่ 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.';
}
หากคุณเป็นผู้พัฒนาโมดูลคุณสามารถใช้hook_admin_pathsเพื่อกำหนดพา ธ ที่จะสร้างการแสดงผลด้วยธีมการบริหารระบบ
เพียงให้เส้นทางกับหน้าเริ่มต้นด้วยผู้ดูแล: 'ผู้ดูแลระบบ / mypage'
ฟังก์ชั่นนี้อยู่ใน D7 core
มีโมดูลที่แสดง "hook_admin_paths" อย่างมีประสิทธิภาพต่อ UI: https://drupal.org/project/admin_theme