2011-10-10 14 views
5

Digamos que tengo esta aplicación de hook_menu():Crear una plantilla para la página

function example_menu(){ 
    $items = array(); 

    $items['admin/recent-completions'] = array(
     'title' => 'Recent Completions (Last 100)', 
     'page callback' => 'example_recent', 
     'access callback' => user_access('Administer content'), 
     'type' => MENU_NORMAL_ITEM, 
     'weight' => -50 
    ); 

    return $items; 
} 

¿Cómo puedo hacer una plantilla para la página de devolución de llamada en lugar de devolver una cadena?

Respuesta

5

Debería implementar una función hook_theme y especificar un archivo de plantilla.

Luego, en la devolución de llamada de su página, debería llamar a la función de su tema. Algo como ...

function example_theme($existing, $type, $theme, $path) { 
    return array(
    'recent_completion' => array(
     'render element' => 'elements', 
     'template' => 'recent-completions', 
    ), 
    ... 
} 

function example_recent() { 
    // Do some logic and processing here 
    $render_array = array(/* array with parameters for the template */); 
    return theme('recent_completion', $render_array); 
} 
+1

¿Cuál es el uso de 'elements',' recent_completions', y 'recent_completion' en este contexto? ¿Cuál se supone que es el valor de '$ render_array'? – Randell

0

Tenía la misma pregunta, pero no estaba seguro de cómo implementar una función hook_theme. This es cómo se hace (al menos en Drupal 6).

Cuestiones relacionadas