2011-05-06 11 views
5

esto puede ser básico, pero acabo de comenzar a utilizar Drupal (6 btw).Howto salida HTML del módulo drupal la manera agradable

Estoy construyendo un módulo, y obtuve una devolución de llamada que se supone devuelve algo de HTML. Tan sólo pudiera hacer algo como esto:

function myModule_myFunction(){ 
    $r = ''; 
    $r .= '<h1>'.$variable.'</h1>'; 
    return $r; 
} 

pero me gustaría lógica más independiente y presentación, y poner esto en un archivo separado, o algo así. HTML en cadenas es feo!

¿Cuál es la forma 'drupal' de hacer esto? No tiene que usar el sistema de temas por lo que a mí respecta.

Respuesta

7

El theme system es la manera drupal de hacer eso.

En primer lugar comprobar si no hay ya una función tema que se puede utilizar, hay muchos que permiten a los datos de salida como de mesa, listas, imágenes y mucho más.

Si no es así, ya que ...

  1. declarar una nueva función con el tema hook_theme(). Prefijo con su módulo, algo así como yourmodule_something.

  2. Crear una función de tema (o una plantilla), una función de tema debe tener el prefijo theme_, por lo que algo así como function theme_yourmodule_something().

  3. Asegúrese de limpiar todas las cachés de manera que Drupal sabe acerca de su cargo el tema.

  4. Llame a la función con el tema theme(): theme('yourmodule_something', $argument1, $argument2):

Más detalles se pueden encontrar en las páginas de documentación vinculados.

2

hook_theme se usa por primera vez para definir plantillas y funciones para resultados temáticos.

A continuación, utilice las plantillas o las funciones de temas para dar salida a cualquier tipo de código, por ejemplo, para llamar theme_my_content o mi-content.tpl.php con un par de parámetros, puede llamar a:

theme('my_content', $param1, $param2);

Cuestiones relacionadas