Template switch anweisung in rowblock

Alles zu Styles, Templates, Icons und Smilies für phpBB 2.0, sowie allgemeine Designfragen zur Integration von phpBB in bestehende Websites.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Spas

Template switch anweisung in rowblock

Beitrag von Spas »

Hi,

ich versuche grade folgendes
liste von beiträgen

DATUM TAG
UHRZEIT: POSTING TITEL, POSTER
UHRZEIT: POSTING TITEL, POSTER

DATUM TAG
UHRZEIT: POSTING TITEL, POSTER
UHRZEIT: POSTING TITEL, POSTER
UHRZEIT: POSTING TITEL, POSTER

der tag soll nur auftauchen wenn es sich um einen neuen tag handelt


also so was wie
if( $date != $previous_date ) schreibe den tag

habe das temporär so gelößt das ich im template bis jetzt so arbeite
<!-- BEGIN postingrow -->
{postingrow.POSTING_DATE}
{postingrow.POSTING_TIME} : {postingrow.POSTING_TITLE} {postingrow.POSTING_POSTER}
<!-- END postingrow -->

ich übergebe dann der variable POSTING_DATE im fall von ungleichem datum den kompletten html text <tr><td>POSTINGDATE</td></tr>

aber das stinkt mir

würde das genre auf diese art (oder wie das eben geht) machen
<!-- BEGIN postingrow -->

<!-- BEGIN switch_new_date -->
{postingrow.POSTING_DATE}
<!-- BEGIN switch_new_date -->

{postingrow.POSTING_TIME} : {postingrow.POSTING_TITLE} {postingrow.POSTING_POSTER}
<!-- END postingrow -->

aber dafür müßte ich den blockvars switch_new_date für jede row aus postingrow einen wert zuweisen ka wie ich das im code löse oder ob das überhaupt geht

würde mich über hilfe sehr freuen

THX
grüße

der spas
Benutzeravatar
Chaze
Ehemaliges Teammitglied
Beiträge: 2035
Registriert: 31.01.2003 12:20
Wohnort: Hannover

Beitrag von Chaze »

Nimms einfach mit in Dein "While" rein.

Code: Alles auswählen

while($row = $db->sql_fetchrow($results))
{
	$template->assign_block_vars("switch_new_date", array(
...Array...)
	);
...Alles weitere...
}
(Aber nur wenn ich Dein Problem richtig verstanden habe :roll: )
by[t]e,
Chaze
!!!--> Kein Support per PN oder Mail <--!!!
Gast

Beitrag von Gast »

glaube du hast das schon richtig verstanden
aber genau so funktioniert das irgendwie nicht

also das ist der kritische teil des template

Code: Alles auswählen

<table border="2" cellpadding="2" cellspacing="2">
	
	<!-- BEGIN postingrow -->
	
	<!-- BEGIN switch_not_same_date -->
	<tr>
		<td>{posting_DATE}</td>
	</tr>
	<!-- END switch_not_same_date -->
		
	<tr>       
		<td>{postingrow.POSTING_TIME}</td>				    					
		<td>{postingrow.POSTING_TITLE}</td>
	</tr>
	<!-- END postingrow -->
	
</table>
un das der php code noch ohne die db klasse hab das einfach mal so runtergeschrieben

Code: Alles auswählen

while ($output = mysql_fetch_array($result, MYSQL_ASSOC)){
	
	$this_date = $output[date];
	
	if($this_date != $temp_date)
		$template->assign_block_vars('switch_not_same_date', array(
			'POSTING_DATE' => $output[date]
			)
		);
	
	$template->assign_block_vars('postingrow', array(		
		'POSTING_TIME' => $output[time],
		'POSTING_ID' => $output[id],		
		'POSTING_TITLE' => $output[title]
		)
	);
	$temp_date = $this_date;	    	

} // END while
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Code: Alles auswählen

<table border="2" cellpadding="2" cellspacing="2">
	
	<!-- BEGIN postingrow -->
	
	<!-- BEGIN switch_not_same_date -->
	<tr>
		<td>{postingrow.switch_not_same_date.posting_DATE}</td>
	</tr>
	<!-- END switch_not_same_date -->
		
	<tr>       
		<td>{postingrow.POSTING_TIME}</td>				    					
		<td>{postingrow.POSTING_TITLE}</td>
	</tr>
	<!-- END postingrow -->
	
</table>

Code: Alles auswählen

while ($output = mysql_fetch_array($result, MYSQL_ASSOC)){
	
	$this_date = $output[date];
	
	if($this_date != $temp_date)
		$template->assign_block_vars('postingrow.switch_not_same_date', array(
			'POSTING_DATE' => $output[date]
			)
		);
	
	$template->assign_block_vars('postingrow', array(		
		'POSTING_TIME' => $output[time],
		'POSTING_ID' => $output[id],		
		'POSTING_TITLE' => $output[title]
		)
	);
	$temp_date = $this_date;	    	

} // END while
[/quote]
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Spas

Beitrag von Spas »

Danke Danke

habs auch garde gesehenn das ich die mit

Code: Alles auswählen

postingrow.switch_new_date ansprechen muß
jetzt kommt aber der kniff

:0) ich muß das

postingrow.switch_new_date
unter dem postingrow machen
obwohl es im template drübersteht denn sonst kennt der das handle postingrow noch nicht und verwirft das erste datum :0)

nochmla danke jungs
und ein dickes
HURRA!!![/b]
Antworten

Zurück zu „phpBB 2.0: Styles, Templates und Grafiken“