2010-06-11 19 views

Odpowiedz

5

Nie w tej chwili, niestety. Funkcje zasadniczo składają się z rzeczy, które mogą być czysto wyeksportowane i zaimportowane do Drupala za pośrednictwem różnych haczyków zdarzeń. Motywy są zupełnie innym zwierzęciem.

Teoretycznie, jeśli chcesz zastąpić niektóre znaczniki w funkcji (niestandardowe pliki tpl.php dla własnego typu treści na przykład), możesz dołączyć niestandardowy plik tpl.php i użyć tematycznych haków w module elementu plik, aby Drupal wiedział, że szablony znajdują się w katalogu twojego modułu.

1

Oprócz odpowiedzi Eaton. Jeśli trzeba zastąpić istniejący szablon (a .tpl.php plik) dostarczonego przez innego modułu można użyć hook_theme_registry_alter w YOUR_FEATURE.module:

function YOUR_FEATURE_registry_alter($theme_registry) { 
    $originalpath = array_shift($theme_registry['TEMPLATE']['theme paths']); 
    $featurepath = drupal_get_path('module', 'YOUR_FEATURE') .'/themes'); 
    array_unshift($theme_registry['TEMPLATE']['theme paths'], $originalpath, $featurepath); 
} 

Aby to zadziałało, twoja funkcja powinna mieć większy ciężar niż moduł zapewniający szablon zastępczy. Tak więc w YOUR_FEATURE.install będziesz mieć coś takiego jak

function YOUR_FEATURE_install() { 
    db_query("UPDATE {system} SET weight = 10 WHERE name = 'YOUR_FEATURE'"); 
}