[gelöst] $template->assign_block_vars verschachteln
Verfasst: 05.12.2008 09:51
Hallo,
in der KB gibt es einen Artikel, der erläutert, wie die Ausgabevariablen verschachtelt werden können. Nur bin ich irgendwie nicht in der Lage das umzusetzen
Kurz zum Verständis: In der DB habe ich eine Tabelle mit den "Hauptdatensätzen". Dazu gibt es eine Detail-Tabelle, die zusätzliche Informationen enthält (0..n Einträge möglich).
Hier mein Code:
Meine Idee war: Speichere das Array mit den Detaildatensätzen im Array des Hauptdatensatzes. Dann "bastele" Dir die verschachtelte Ausgabe. Ohne das zweite "$template->assign_block_vars" funktioniert es auch.
Wie muss ich vorgehen/ändern, damit ich meine gewünschte Funktionalität hin bekomme?
in der KB gibt es einen Artikel, der erläutert, wie die Ausgabevariablen verschachtelt werden können. Nur bin ich irgendwie nicht in der Lage das umzusetzen

Kurz zum Verständis: In der DB habe ich eine Tabelle mit den "Hauptdatensätzen". Dazu gibt es eine Detail-Tabelle, die zusätzliche Informationen enthält (0..n Einträge möglich).
Hier mein Code:
Code: Alles auswählen
// SQL-Stuff für Hauptdatensätze
$x = 0;
while ($row = $db->sql_fetchrow($result)) {
// SQL-Stuff für Detaildatensätze
$details = $db->sql_query($details_query);
$z = 0;
$detail_info = array();;
while ($res_row = $db->sql_fetchrow($details)) {
$detail_info[$z]['imageurl'] = $res_row['image32url'];
$detail_info[$z]['name'] = $res_row['name'];
$z++;
}
$db->sql_freeresult($details);
$output[$x]['line'] = $line;
$output[$x]['memberprofil'] = $phpbb_root_path . 'memberlist.' . $phpEx . .....;
$output[$x]['username'] = $row['username'];
$output[$x]['userpic'] = $row['tile_url'];
$output[$x]['details'] = $detail_info; // <-- ??????????
$line++;
$x++;
}
$db->sql_freeresult($result);
foreach ($output as $output_var) {
$template->assign_block_vars('userdetails', array(
'LINE' => $output_var['line'],
'MEMBERPROFIL' => $output_var['memberprofil'],
'USERNAME' => $output_var['username'],
'USERPIC' => $output_var['userpic'],
));
foreach($output_var['details'] as $details) {
$template->assign_block_vars('userdetails.child_record', array(
'IMAGE_URL' => $details['imageurl'],
'NAME' => $details['name']
));
}
}
Wie muss ich vorgehen/ändern, damit ich meine gewünschte Funktionalität hin bekomme?