Custom Module, Block und ein Template-File das nicht gelesen wird

am 24.09.2013 - 08:53 Uhr in
Hallo Zusammen!
Bin relativ neu in der Drupal-Community und könnte gut Hilfe gebrauchen.
Auf der Arbeit habe ich einen kleinen Auftrag, dabei geht es darum ein eigenes Modul zu erstellen. -> Funktioniert
Weiter soll mir dieses Modul einen Block ausgeben -> Funktioniert auch
ABER der Inhalt dieses Blocks soll über die theme()-Funktion ausgelesen werden. Das Theme wurde per hook_theme() auch registriert, aber irgendwie liest er die Datei nicht. Auch wenn da irgendwas von "Hello World" drin steht, das Template wird nicht angerührt.
Hier mein Code-Schnipsel:
function aparallax_theme() {
return array(
'aparallax' => array(
'arguments' => array('parallax' => NULL),
'template' => '/templates/aparallax',
),
);
}
function aparallax_block(){
$aparray = array();
$view = views_get_view('projects');
$view->execute();
$result = $view->result;
$output = "";
foreach($result as $index){
// $output .= $index->node_title . "<br />";
array_push($aparray, array(
'nid' => $index->nid,
'node_title' => $index->node_title,
));
}
dsm($aparray);
$output .= theme('aparallax', $variables = array('aparallax' => $aparray));
return $output;
}
Die Datei ist im /MODUL_NAME/templates/-Verzeichnis enthalten. Wenn mir kurz jemand dieses Problem erläutern könnte, wäre ich sehr froh, da meine Vorgesetzten zurzeit an der DrupalCon und nicht verfügbar sind.
Freundliche Grüsse
Scepticore
- Anmelden oder Registrieren um Kommentare zu schreiben
Zitat: $output .=
am 24.09.2013 - 10:38 Uhr
$output .= theme('aparallax', $variables = array('aparallax' => $aparray));
Hier bringst Du etwas durcheinander. Lies Dir bitte diesen Kommentar in der Dokumentation von hook_theme durch. theme('aparallax', . . . . wird nämlich umgesetzt in die Funktion theme_aparallax und die hast Du nicht definiert.
Beste Grüße
Werner
Dankeschön
am 24.09.2013 - 10:45 Uhr
Danke für den Denkanstoss, dann werde ich es so weiterversuchen und falls ich es nicht schaffe, werde ich mich wieder melden.
Also kurz zum überprüfen. Ich
am 24.09.2013 - 12:31 Uhr
Also kurz zum überprüfen. Ich habe folgende Funktionen in meiner .module-Datei:
// Block Information
function aparallax_block_info() {
}
// Block View
function aparallax_block_view($delta = '') {
}
// Theme Funktion
function aparallax_theme() {
}
// Liest das View aus, um mir danach die Daten per aparallax.tpl.php auszugeben
function aparallax_block(){
}
// Menu Funktion
function aparallax_menu() {
}
// Callback für die Menu Funktion
function aparallax_callback() {
}
// Theme
function theme_aparallax(){
}
Ich frage mich eben, ob ich da Dinge darunter habe, die ich gar nicht brauche und was ich vergessen haben könnte.