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.
templates parsen
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.
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.
templates parsen
hallo alle
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.
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.
Naja... in den *.php Datei wird mit..
Oder wolltest was anderes wissen ?
..die dazugehörige *.tpl definiert und mit..$template->set_filenames(array(
'body' => 'datei_body.tpl')
);
..dann ausgegeben.$template->pparse('body');
...damit definierst Du dann die einzelnen Variabeln (Ausgabe in Template wäre {IRGENDWAS}, wenn es sich innerhalb einer while Schleife befindet mit..$template->assign_vars(array(
'IRGENDWAS' => $irgendwas,
));
..die Ausgabe im Template wäre dann..$template->assign_block_vars('irgendwas', array(
'IRGENDWAS' => $irgendwas,
));
Um z.B. einen switch einzubauen... schreibst Du in die *.php..<!-- BEGIN irgendwas -->
{irgendwas.IRGENDWAS}
<!-- END irgendwas -->
..die Ausgabe im Template wäre dann..if ( $irgendwas == $was_anderes )
{
$template->assign_block_vars('switch_irgendwas', array());
}
<!-- BEGIN irgendwas -->
was_auch_immer
<!-- END irgendwas -->
Oder wolltest was anderes wissen ?
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
das template sieht dann so aus
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]
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());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 -->
Danke nochmal[/quote]
<!-- 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 ?
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 ?
habe noch eine Frage
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.
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.