Guten Abend,
ich habe ein kleines Problem mit dem Parsen von verschachtelten Blöcken in HTML-Templates mit PEAR.
Wenn ich das richtig verstanden habe, dann muss man den inneren Block als erstes parsen und dann den Äußeren. Jedoch kommt es bei mir da immer wieder zu Problemen.
So soll es ausschauen:
So sieht es aus:
So und nun zu den Code-Schnipseln:
- menu.tpl:
- menu.php
Ich weiss, dass ich mir den Inhalt für {L_MAINMENU} auch zuerst einfach in einem String zusammensetzen kann und dann in einem gemeinsem Block mit {T_MAINMENU} parsen kann, doch möchte ich es gern mit verschachtelten Blöcken realisieren.
Ich habe es ebenfalls auch schon nach einem Artikel von PHP Magazin versucht, jedoch ergibt sich ein ähnliches Parser-Problem.
Freue mich über jede Hilfestellung.
Gruß ArneH
ich habe ein kleines Problem mit dem Parsen von verschachtelten Blöcken in HTML-Templates mit PEAR.
Wenn ich das richtig verstanden habe, dann muss man den inneren Block als erstes parsen und dann den Äußeren. Jedoch kommt es bei mir da immer wieder zu Problemen.
So soll es ausschauen:
So sieht es aus:
So und nun zu den Code-Schnipseln:
- menu.tpl:
HTML:
<div id="menu_div">
<!-- START MENU -->
<div id="div_heading">» {T_MAINMENU}</div>
<div>
<!-- START MENULINK -->
{L_MAINMENU}<br>
<!-- END MENULINK -->
</div>
<!-- END MENU -->
</div>
- menu.php
PHP:
<?php
if(!defined('INDEX')) {
die('Forbidden Access!');
}
// Test Variable
$menu = array('News','News-Archive','Staff','Forum','Contact');
require_once("HTML/Template/IT.php");
$template = new HTML_Template_IT($template_path);
$template->loadTemplatefile("menu.tpl",true,true);
$i = 0;
while($i<5) {
$template->setCurrentBlock('MENULINK');
$template->setVariable('L_MAINMENU',$menu[$i]);
$template->parseCurrentBlock('MENULINK');
$i++;
}
$template->setCurrentBlock('MENU');
$template->setVariable('T_MAINMENU','Menu');
$template->parseCurrentBlock('MENU');
$template->show();
?>
Ich weiss, dass ich mir den Inhalt für {L_MAINMENU} auch zuerst einfach in einem String zusammensetzen kann und dann in einem gemeinsem Block mit {T_MAINMENU} parsen kann, doch möchte ich es gern mit verschachtelten Blöcken realisieren.
Ich habe es ebenfalls auch schon nach einem Artikel von PHP Magazin versucht, jedoch ergibt sich ein ähnliches Parser-Problem.
Freue mich über jede Hilfestellung.
Gruß ArneH