templates parsen

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
bangolo
Mitglied
Beiträge: 14
Registriert: 11.05.2003 17:40
Kontaktdaten:

templates parsen

Beitrag von bangolo »

hallo alle :-D

gibt es eigentlich eine Anleitung oder ein Beispiel, wie der parser für die templates beim phpBB funktioniert. Ich bin dabei einige Erweiterungen für mein Forum zu machen und möchte da halt die templates so aufbauen wie beim Forum selber. sich das einzeln rauszusuchen ist verdammt aufwendig. :D
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Naja... in den *.php Datei wird mit..
$template->set_filenames(array(
'body' => 'datei_body.tpl')
);
..die dazugehörige *.tpl definiert und mit..
$template->pparse('body');
..dann ausgegeben.
$template->assign_vars(array(
'IRGENDWAS' => $irgendwas,
));
...damit definierst Du dann die einzelnen Variabeln (Ausgabe in Template wäre {IRGENDWAS}, wenn es sich innerhalb einer while Schleife befindet mit..
$template->assign_block_vars('irgendwas', array(
'IRGENDWAS' => $irgendwas,
));
..die Ausgabe im Template wäre dann..
<!-- BEGIN irgendwas -->
{irgendwas.IRGENDWAS}
<!-- END irgendwas -->
Um z.B. einen switch einzubauen... schreibst Du in die *.php..
if ( $irgendwas == $was_anderes )
{
$template->assign_block_vars('switch_irgendwas', array());
}
..die Ausgabe im Template wäre dann..
<!-- BEGIN irgendwas -->
was_auch_immer
<!-- END irgendwas -->

Oder wolltest was anderes wissen ?
bangolo
Mitglied
Beiträge: 14
Registriert: 11.05.2003 17:40
Kontaktdaten:

Beitrag von bangolo »

erstmal schönen dank für die schnelle Antwort, ist eigentlich genau das was ich auch meinte. Ich will die Kategorien des Forums aus geben und verwende dafür folgenden code

Code: Alles auswählen

$template->assign_vars(array(
			'L_SITEMAP_TITEL' => $lang['sitemaptitel'],
			'L_KATEGORIE_TITEL' => $lang['sitemapkategorien'],
		));
		
		$qCat = "SELECT cat_title, cat_id FROM " .CATEGORIES_TABLE. " ORDER BY cat_title"; 
		$sitemap_cat = mysql_query($qCat);
		
		while($row=  mysql_fetch_assoc($sitemap_cat)) 
		{ 
#      		echo "<a href='index.php?c=".$row["cat_id"]."' style='text-decoration:none;'>".$row["cat_title"]."</a><br>"; 
			$template->assign_block_vars('sitemap_categorie_row', array(
			'KAT_ID' => $row["cat_id"],
			'KAT_TITLE' => $row["cat_title"]
			)
		
		);
		#echo $row["cat_title"];
			} 
		#$template->assign_block_vars('sitemap', array());
das template sieht dann so aus

Code: Alles auswählen

<!-- BEGIN sitemap -->
		<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
		  <tr>
			<td class="catHead" height="25"><span class="genmed"><b>{L_SITEMAP_TITEL}</b></span></td>
		  </tr>
			<tr>
				<td class="genmed" height="25"><span class="genmed"><b>{L_KATEGORIE_TITEL}</b></span></td>
		 	</tr>
		<!-- BEGIN sitemap_categorie_row -->
				
				<tr>
			<td class="catHead" height="25"><span class="genmed"><b>{sitemap_categorie_row.KAT_ID}</b>{sitemap_categorie_row.KAT_TITLE}</span></td>
		  </tr>
			
		<!-- END sitemap_categorie_row -->
	</table>
<br />
		<!-- END sitemap -->
ich meine eigentlich das wäre so wir du das beschrieben hast, aber irgendwie zeigt er mir nichts an. Ich verstehe auch noch nicht so ganz ob ich das richtig gemacht habe mit dem einbau der Schleife.

Danke nochmal[/quote]
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

<!-- BEGIN sitemap -->/<!-- END sitemap --> in der tpl benötigst Du nicht (soll doch nur ´n Kommentar deinerseits sein oder?)

BEGIN/END sind Variabeln im phpBB-Templatesystem und wenn Du mehrere solche Variabeln verschachtelst... muss das auch in der *.php definiert werden (s. catrow und catrow.forumrow in index.php).


In der *.php sind doch auch extension.inc und common.php eingebunden oder ?
bangolo
Mitglied
Beiträge: 14
Registriert: 11.05.2003 17:40
Kontaktdaten:

Beitrag von bangolo »

jo danke es funktioniert, der Fehler lag bei dem verschachteln die sitemap war kein kommentar und mußte dann halt mit sitemap.cat_row davor. Ich habe das in der index.php gesehen wie da die posts ausgegeben werden.

Danke nochmal hat mir sehr geholfen :-D
bangolo
Mitglied
Beiträge: 14
Registriert: 11.05.2003 17:40
Kontaktdaten:

Beitrag von bangolo »

habe noch eine Frage :-D

kann man auch tiefer verschachteln, also etwa so

<!-- BEGIN header -->
wert ausgeben
<!-- BEGINN zeile -->
wert ausgeben
<!-- BEGINN spalte -->
werte ausgeben
<!-- END spalte -->
<!-- END Zeile -->
<!-- END header -->

wenn ja muss man dann den Wert in der Spalte header.zeile.spalte.wert angeben ?. Dabei sind halt Zeile und spalte wiederholende Werte header ist normal.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

ja, sicher auch das ist möglich.
bangolo
Mitglied
Beiträge: 14
Registriert: 11.05.2003 17:40
Kontaktdaten:

Beitrag von bangolo »

hmm, habe ich nicht hingekriegt, werd dann nochmal probieren :-D
Antworten

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