it-swarm.asia

فرض عرض الصفحة في سمة المشرف (وضع التراكب)

هل هناك طريقة لفرض عرض الصفحة في موضوع المشرف ، مثل الصفحات التي يبدأ مسارها بـ "admin /"؟

13
hpn

هناك وحدة مساهمة ThemeKey ذلك

يسمح لك بتحديد قواعد تبديل السمة البسيطة أو المعقدة التي تسمح بالاختيار التلقائي للسمة اعتمادًا على المسار الحالي ومصطلحات التصنيف واللغة ونوع العقدة والعديد من الخصائص الأخرى. يمكن أيضًا توسيعه بسهولة لدعم الخصائص الإضافية التي تتعرض لها الوحدات النمطية الأخرى. بالاشتراك مع وراثة موضوع دروبال وخصائص ThemeKey يمكنك بسهولة تحقيق ميزات مثل:

القنوات ذات النمط الفردي ، شاشة الصفحة الأمامية/"البداية" ، موضوعات جوّال لموضوع عيد الميلاد يتم تحديدها في التاريخ/الوقت لمختلف أجهزة الجوال التي تم اكتشافها تلقائيًا ، موضوعات خاصة لمحتوى المتصفحات "المحدود" أو "القديم" ، أو المستخدم ، أو السمات الخاصة بالدور تشير إلى بيئتك (الإنتاج ، التدريج ، الاختبار ، وضع الحماية ، ...) اختبار إعادة تصميمك بأمان على خادم مباشر

تحقق أيضا من السؤال ذي الصلة هنا .

4
Refineo

يمكنك أيضًا القيام بذلك عن طريق إنشاء وحدة مخصصة.

الطريقة الأولى

استخدم هذا إذا كنت تريد تصميم صفحة موجودة ، بناءً على المسار الداخلي لـ 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');
  }
}

الطريقة الثالثة

استخدم هذا إذا كنت تريد تصميم وإنشاء صفحة. يستخدم هذا المثال hook_men . لمعرفة المزيد ، ألق نظرة على آخر مقالة رائعة عن 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

إذا كنت مطور وحدة ، يمكنك استخدام hook_admin_paths لتحديد المسارات التي سيتم تقديمها مع موضوع الإدارة.

7
Daniel

ما عليك سوى إعطاء الصفحة مسارًا يبدأ بـ admin: "admin/mypage"

4
MediaFormat
  1. هذه الوظيفة الآن في D7 الأساسية.

  2. هناك وحدة تعرض بفعالية "hook_admin_paths" لواجهة المستخدم: https://drupal.org/project/admin_theme

1
aaronbauman