2012-06-09 6 views
1

У меня есть функция Drupal 7 с именем _home(), которая вызывается URL-адресом «home».Как применить тему к функции Drupal?

В этой функции я хочу сгенерировать вывод html и, возвращая его, мне нужно показать полученный html пользователю. На самом деле я вставляю html-теги (div, tables, b ...) внутри функции и возвращаюсь к пользователю; он работает, но я думаю, что должен быть лучший способ сделать это, возможно, используя шаблоны или темы. Есть ли способ применить шаблон к функции _home, даже если это не узел/другой объект Drupal?

ответ

2
if the "home" url is being created using modules then the following might be useful for you. 

In your module file create 
function modulename_theme($existing, $type, $theme, $path) 
    { 
    $theme_hooks = array(
    'home' => array(
     'template' => 'home',//name of template file will be home.tpl.php 
     'path' => $path . '/templates', 
     'variables' => array(
    ), 
    )); 
    return $theme_hooks; 
    } 
    //As _home is the callback function for "home" url 
    function _home($node) 
    { 
    return theme('home', array('node' => $node)); 
    } 



Now under your module create a templates folder & in that create home.tpl.php & place your html in that file.. 
+0

Отлично, спасибо большое! – Cris

Смежные вопросы