Template-Daten nach "assign_block_vars" ändern?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
LuLa
Mitglied
Beiträge: 290
Registriert: 14.02.2004 12:26

Template-Daten nach "assign_block_vars" ändern?

Beitrag 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
Benutzeravatar
Sanchez17
Mitglied
Beiträge: 913
Registriert: 10.12.2005 22:21
Wohnort: Moers / Sevilla
Kontaktdaten:

Beitrag 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... 
Viva el betís, mi amor :-)
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
Benutzeravatar
LuLa
Mitglied
Beiträge: 290
Registriert: 14.02.2004 12:26

Beitrag 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.
Benutzeravatar
Sanchez17
Mitglied
Beiträge: 913
Registriert: 10.12.2005 22:21
Wohnort: Moers / Sevilla
Kontaktdaten:

Beitrag 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
Viva el betís, mi amor :-)
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag 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
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Benutzeravatar
LuLa
Mitglied
Beiträge: 290
Registriert: 14.02.2004 12:26

Beitrag 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!
Antworten

Zurück zu „Coding & Technik“