Yanıtlar:
Katkıda bulunan bir ThemeKey modülü var .
geçerli yola, sınıflandırma terimlerine, dile, düğüm tipine ve diğer birçok özelliğe bağlı olarak bir temanın otomatik olarak seçilmesini sağlayan basit veya karmaşık tema değiştirme kurallarını tanımlamanızı sağlar. Diğer modüllerin maruz kaldığı ek özellikleri desteklemek için kolayca genişletilebilir. Drupal'ın tema mirası ve ThemeKey Özellikleri ile birlikte aşağıdaki gibi özelliklere kolayca ulaşabilirsiniz:
ayrı ayrı tasarlanmış kanallar bir ön sayfa / "sıçrama" ekranı tarih / saat seçili Noel teması farklı otomatik olarak algılanan mobil cihazlar için mobil temalar "sınırlı" veya "eski" tarayıcılar için özel temalar içerik, kullanıcı veya role özgü temalar ortamınızı (üretim, hazırlama, test, korumalı alan,…) yeniden tasarımınızı canlı bir sunucuda güvenli bir şekilde test etme
Ayrıca ilgili soruyu buradan kontrol edin .
Bunu, özel bir modül yaparak da yapabilirsiniz.
Yöntem 1
Drupal'ın dahili yoluna (yol kaynağı olarak da bilinir) var olan bir sayfayı temalamak istiyorsanız bunu kullanın. Bu örnekte hook_custom_theme kullanılır .
<?php
function MYMODULE_custom_theme() {
// match node/1
if (arg(0) == 'node' && arg(1) == '1') {
return variable_get('admin_theme');
}
}
Yöntem 2
URL yoluna (diğer yol takma adı) dayalı olarak mevcut bir sayfayı teması istiyorsanız bunu kullanın. Bu örnek ayrıca hook_custom_theme kullanır .
<?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');
}
}
Yöntem 3
Tema oluşturmak ve bir sayfa oluşturmak istiyorsanız bunu kullanın. Bu örnekte hook_menu kullanılır . Daha fazla bilgi edinmek için hook_menu ile ilgili harika bir makaleye göz atın .
<?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.';
}
Bir modül geliştiricisiyseniz, yönetim temasıyla hangi yolların oluşturulacağını tanımlamak için hook_admin_paths komutunu kullanabilirsiniz .
Sayfaya admin ile başlayan bir yol vermeniz yeterlidir: 'admin / mypage'
Bu işlev artık D7 çekirdeğinde.
"Hook_admin_paths" arayüzünü etkin bir şekilde kullanıcı arayüzüne maruz bırakan bir modül var: https://drupal.org/project/admin_theme