Tutorial - Templateparser-Klasse erweitern

Chrizler

Grünschnabel
Hallo,
ich habe mich mal durch das Templateparser - Klasse Tutorial von fanste gearbeitet.
Sinnigerweise werden dort nur die angegebenen Blöcke geparst. Allerdings nicht in verschachtelten Blöcken. Bisher habe ich noch keine sinnvolle Möglichkeit gefunden, dies zu umgehen. Für Lösungsansätze bin ich Dankbar.

mfg Chrizler
 
Ja, das tut sie auch. Mein Problem ist allerdings folgendes. Foglendes Gebilde funktioniert einwandfrei:
Template
HTML:
<html>
  <head>
    <!-- Begin Block_1 -->
      <title>irgendwas1</title> 
    <!-- End Block_1 -->
    <!-- Begin Block_2 -->
      <title>irgendwas2</title> 
    <!-- End Block_2 -->
    <!-- Begin Block_3 -->
      <title>irgendwas3</title> 
    <!-- End Block_3 -->
  </head>
  <body>
PHP Code
PHP:
$tpl = new Template("/pfad/");
$tpl->newFile("datei.tpl");

	$tpl->addBlockPlHo("Block_2",array());
würde zu folgendem Ergebnis führen:
HTML:
<html>
  <head>
      <title>irgendwas2</title> 
  </head>
  <body>
Es wird nur genau der gewollte Block angezeigt.
So weit, so gut. Aber:
Das gleiche mit verschachtelten Blöcken:
Template
HTML:
<html>
  <head>
    <title>Titel</title>
  </head>
  <body>
    <!-- Begin Block_1 -->
      <table>
        <tr>
        <!-- Begin Block_1_1 -->
           <td>Text_1</td>
        <!-- End Block_1_1 -->
        <!-- Begin Block_1_2 -->
           <td>Text_2</td>
        <!-- End Block_1_2 -->
        <!-- Begin Block_1_3 -->
           <td>Text_3</td>
        <!-- End Block_1_3 -->
         </tr>
       </table>
    <!-- End Block_1 -->
  </body>
</html>
PHP Code
PHP:
$tpl = new Template("/pfad/");
$tpl->newFile("datei.tpl");

	$tpl->addBlockPlHo("Block_1",array());
        $tpl->addBlockPlHo("Block_1.Block_1_2",array());
ergibt:
HTML:
<html>
  <head>
    <title>Titel</title>
  </head>
  <body>
      <table>
        <tr>
           <td>Text_1</td>
           <td>Text_2</td>
           <td>Text_3</td>
         </tr>
       </table>
  </body>
</html>
Es sollte aber zu diesem Ergebnis kommen:
HTML:
<html>
  <head>
    <title>Titel</title>
  </head>
  <body>
      <table>
        <tr>
           <td>Text_2</td>
         </tr>
       </table>
  </body>
</html>
Ich hoffe, man kann mein Problem einigermassen nachvollziehen.
 
Zuletzt bearbeitet:
Zurück