preprocess funktion für eigene templatedatei.
am 23.04.2009 - 10:42 Uhr in
Hallo Drupaler,
ich hab mich mal ein bisschen in fremden Modulen geschaut und folgendes im search modul gefunden:
<?php
/**
* Implementation of hook_theme()
*/
function search_theme() {
return array(
//...
'search_block_form' => array(
'arguments' => array('form' => NULL),
'template' => 'search-block-form',
),
//...
);
}
/**
* Process variables for search-theme-form.tpl.php.
*
* The $variables array contains the following arguments:
* - $form
*
* @see search_block_form.tpl.php
*/
function template_preprocess_search_block_form(&$variables) {
//...
}
?>Jetzt habe ich es versucht nachzubauen, allerdings wird mein preprocess hook nicht aufgerufen. angenommen das modul heißt test:
<?php
// hook_theme
test_theme(){
return array(
//...
'test_block' => array(
'arguments' => array('array' => NULL),
'template' => 'test-block',
),
//...
);
}
// preprocess
function template_preprocess_test_block(&$variables) {
// wird nicht aufgerufen
}
function test_preprocess_test_block(&$variables){
// wird nicht aufgerufen
}
?>Was mache ich falsch? Ich habe es auch mit einer template Datei test-block.tpl.php im Modul-Verzeichnis probiert aber keine der Punktionen wurde aufgerufen.
- Anmelden oder Registrieren um Kommentare zu schreiben

preprocess
am 23.04.2009 - 11:42 Uhr
Moin!
Siehe http://drupal.org/node/223430. Die richtige Form wäre moduleName_preprocess_hook. Und ausserdem verwendest Du einmal "test-block", dann in der Funktion jedoch "text_block" (einmal "s", einmal "x").
hth,
Stefan
--
2 Personen mit Halbwissen sind schlimmer, als eine unwissende Person.
ist search_block_form ein hook?
am 23.04.2009 - 12:01 Uhr
Hallo Stefan, danke für deine Antwort.
s und x waren Tippfehler meinerseits die ich jetzt korrigiert habe.
Danke auch für die richtige konvention der preprocess funktion. Aber in wiefern wird diese im searchmodul in der zitierten preprocess funktion eingehalten?
wurde da seach_block_form als hook definiert? Und wenn ja wo? oder wie definiert man einen eigenen hook?