Seite 1 von 1

Template-Daten nach "assign_block_vars" ändern?

Verfasst: 27.01.2008 21:46
von LuLa
Hallo zusammen,

habe mal wieder eine Frage. Mit

Code: Alles auswählen

$i = 1;
while ( $row = $db->sql_fetchrow($result) )
{
	$template->assign_block_vars('memberrow', array(
		'ROW_NUMBER' => $row['number'],
		)
	);
	$i++;
}

...
...
// Später...
weise ich dem Template wie gewohnt Daten zu.

Aber ist es möglich, diese Daten danach noch zu ändern, noch bevor sie ans Template übergeben werden? Ich möchte z. B. den Wert von ROW_NUMBER später an der Stelle ändern, wo $i == 3 ist.


LG
LuLa

Verfasst: 28.01.2008 00:46
von Sanchez17
Hi, wenn ich dich richtig verstanden habe, kannst du das doch recht einfach mit einer IF Abfrage regeln:

Code: Alles auswählen

$i = 1;
while ( $row = $db->sql_fetchrow($result) )
{
if($i == 3)
{
$row['number'] = 'xyz';
}
   $template->assign_block_vars('memberrow', array(
      'ROW_NUMBER' => $row['number'],
      )
   );
   $i++;
}

...
...
// Später... 

Verfasst: 28.01.2008 02:11
von LuLa
Sanchez17 hat geschrieben:Hi, wenn ich dich richtig verstanden habe
Nein, leider nicht. Ich möchte das erst dort ändern, wo

Code: Alles auswählen

// Später...
steht.

Verfasst: 28.01.2008 10:47
von Sanchez17
Da wüsste ich jetzt nicht genau.

Eventuell kannst die die Variabel nachher überschreiben, ala:

Code: Alles auswählen

$i = 1;
while ( $row = $db->sql_fetchrow($result) )
{
   $template->assign_block_vars('memberrow', array(
      'ROW_NUMBER' => $row['number'],
      )
   );
   $i++;
}


   $template->assign_block_vars('memberrow', array(
      'ROW_NUMBER' => $tütata,
      )

Versuch es einfach...mit Backup

Verfasst: 28.01.2008 14:40
von S2B
Nein, das geht so ohne weiteres nicht, da müsstest du dir die Struktur der Klassenvariablen anschauen, die die Variablen speichert, und diese direkt verändern. Die Template-Klasse findest du in der includes/template.php. :wink:

Verfasst: 28.01.2008 16:38
von Boecki91
Vielleicht lässt sich der Code auch so umstrukturieren das du assign_block_vars erst später aufrufen musst.

In dem du die Ergebnisse in einem array Zwischenspeicherst

Verfasst: 30.01.2008 13:22
von LuLa
Boecki91 hat geschrieben:Vielleicht lässt sich der Code auch so umstrukturieren das du assign_block_vars erst später aufrufen musst.

In dem du die Ergebnisse in einem array Zwischenspeicherst
Ja... genau so habe ich es getan (ohne Deinen Beitrag gelesen zu haben :D ). Trotzdem danke!