[D6][Eigen module] Hoe geef ik variabelen door naar mijn templatebestanden?

Hallo allemaal,

Ik heb na een aantal dagen nog zo weinig vooruitgang geboekt met mijn (test)module dat ik hier om hulp vraag.
Met behulp van Creating modules - a tutorial: Drupal 6.x heb ik dus een module gemaakt. Maar waar ik nu tegenaan loop is het volgende:
Ik wil dat de variabelen die ik maak in een functie, beschikbaar worden in mijn .tpl bestanden.


function fenix_theme() {
return array(
'fenix' => array(
'template' => 'fenix_page',
),
);
}


function fenix_menu() {

$items = array();
$items['fenix'] = array(
'title' => 'Fenix Testmodule',
'page callback' => 'fenix_all', // de functie die wordt aangeroepen bij q=fenix deze werkt goed
'page arguments' => array(2),
'access arguments' => array('access fenix content'),
'type' => MENU_CALLBACK,
);
return $items;
}

De functie die de vars moet genereren:

function fenix_all() {
$vars['test'] = 'variable1 ' ;
$vars['test2'] = 'variable1 ' ;

return theme('fenix', $vars); // op deze manier werken andere modules (volgens mij)
}

in page_fenix.tpl.php staat het volgende:

print_r($vars);

Maar ik krijg dus niet de variabelen; deze zijn leeg

Wat doe ik hier fout?

Drupalversie: 
6.x
Auteur: 
Fenix
afbeelding van svendecabooter
Door svendecabooter op 11 augustus, 2009 - 10:34

Dit kan op 2 manieren:

Manier 1: vast aantal variables meegeven aan je template file

function fenix_theme() {
return array(
'fenix' => array(
'template' => 'fenix_page',
'arguments' => array(
'test' => NULL,
'test2' => NULL,
),
),
);
}

function fenix_all() {
$test = 'variable1';
$test2 = 'variable1';

return theme('fenix', $test, $test2);
}

Manier 2: variabel aantal variables meegeven aan je template file

function fenix_theme() {
return array(
'fenix' => array(
'template' => 'fenix_page',
),
);
}

function fenix_all() {
return theme('fenix');
}

// hook_preprocess_
function fenix_preprocess_fenix(&$vars) {
$vars['test'] = 'variable1';
$vars['test2'] = 'variable1';
}

(Deze laatste manier met preprocess werkt enkel als je met een template file werkt)

Beide manieren zouden de variabelen moeten doorgeven aan je tpl file.

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.