php - template - ¿Cómo implementar hook_theme en drupal 7?
theme suggestions drupal 7 (1)
Intenta agregar la matriz de variables
en hook_theme
function mytheme_theme($existing, $type, $theme, $path){
return array(
''mytheme_header'' => array(
''template'' => ''header'',
''path'' => $path . ''/templates'',
''type'' => ''theme'',
''variables'' => array(
''title'' => NULL,
''some_text'' => NULL,
),
),
);
}
En su archivo header.tpl.php
:
<h1><?php print $title; ?></h1>
<p><?php print $some_text; ?></p>
Luego, imprímalo así:
$vars = array();
$vars[''title''] = "This is a title";
$vars[''some_text''] = "Some text...";
print theme(''mytheme_header'', $vars);
Creé un nuevo tema de drupal 7 e intento implementar hook_theme en template.php de esta manera:
function mytheme_theme($existing, $type, $theme, $path){
return array(
''mytheme_header''=>array(
''template''=>''header'',
''path''=>$path.''/templates'',
''type''=>''theme'',
),
);
}
luego puse header.tpl.php en el directorio de plantillas y borre todos los cachés, y llamo a la función de tema:
theme(''mytheme_header'', $vars);
y header.tpl.php le gusta esto:
<?php
fb(''calling header template'');//the function of FirePHP to output debug info
print ''<div>Header</div>'';
//...
Compruebo Firebug y obtiene la información ''plantilla de encabezado de llamada'', significa que ha llamado a header.tpl.php, pero no imprime el código html. ¿Qué pasa con mi código?