Template probleme...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ohne Vorwissen schreibt man nicht mal eben ne Templateklasse. Als will dich nicht entmutigen, aber da gehört schon was mehr zu. Und alle Tutorials hast du anscheinend immer noch nicht gelese...

    Kommentar


    • #17
      jetzt sind es beide tutorials...
      die .inc.php datei der Aploda Klasse hat mir gezeigt dass es doch etwas komplizierter aufgebaut ist als ich zuerst angenommen habe...

      wie wichtig ist die wahl der template-klasse?

      gibt es eine besonders gute oder ist die Aploda Template Klasse des einen tutorials so ziemlich das was in den meisten enthalten ist?

      Kommentar


      • #18
        Die sind alle ziemlich ähnlich aufgebaut. Und die genannte Klasse is auf keinen Fall falsch...

        Kommentar


        • #19
          jup, ganz schön praktisch zu bedienen...

          allerdings stosse ich bei schleifen auf doofe grenzen :

          aus folgender seite möchte ich verschiedene titel einsetzen und jedem gleichzeitig mehrere untertitel zuweisen:

          PHP-Code:
          <table>
          <!-- 
          BEGIN dvds -->
                  <
          tr bgcolor="#000066"
                    <
          td height="{height}" colspan="2"><font color="#FFFFFF">{title}</font></td>
                  </
          tr>
                  <
          tr bgcolor="#000066"
                    <
          td>{subtitle}</td>
                  </
          tr>
          <!-- 
          END dvds -->
                </
          table
          in der php datei weise ich die verschiedenen resultate variablen zu und ersetze:

          PHP-Code:
          <?php
          /* Verbindung zur Datenbank aufbauen */
          require("dbconnect.php");

          /* Template-Class festlegen */
          include('class_template.inc.php');

          /* Design-Seite bestimmen */
          $tpl = new Template('template3.tpl.html');

          /* der Bereich der angezeigt werden soll wird bestimmt */
          $tplVerein $tpl->fetchBlock('dvds');

          /* gewünschte Daten werden aus Datenbank abgefragt */
          $requete="SELECT * FROM forum ORDER BY id";
          $resultmysql_query($requete$db);

          /* Daten werden in einer Schleife angezeigt */
          while ($ligne mysql_fetch_object ($result))
          {
              
          $tplVerein->assign('title'$ligne->title);
              
          $tplVerein->assign('height''40');    

          /* Abfrage für untergeordnete Datensätze */
          $forum $ligne->id;
          $req="SELECT * FROM article WHERE id=$forum ORDER BY id";
          $resmysql_query($req$db);

          /* neue Daten werden in einer neuen Schleife, welche in die alte eingebunden ist, wiedergegeben */
          while ($for mysql_fetch_object ($res))
          {
          /* Strings der Grafikseite werden ersetzt */
              
          $tplVerein->assign('subtitle'$for->corps);
              
          /* die Daten die eingefügt werden sollen werden dem template übergeben */
              
          $tpl->assign('verein'$tplVerein);
              
          /* der bestimmte Bereich wird wieder freigegeben */
              
          $tplVerein->reset();
          }}
          /* die Grafik-Datei wird angezeigt */
          $tpl->out();

          /* gespeicherte Abfragen werden gelöscht */
          mysql_free_result ($result);
          mysql_free_result ($res);

          /* Datenbankverbindung wird unterbrochen */
          mysql_close($db);
          ?>
          Jetzt besteht leider das problem dass zwar die untertitel unter den richtigen titeln angeordnet sind, falls aber mehr als ein untertitel vorhanden ist zeigt es vor jedem weiteren untertitel {title}, weil der ja nicht mehr ersetzt wird...
          ich habe auch schon versucht dann halt zuzuweisen dass {title} leer sei, allerdings bleibt immer noch ein lästiger schmaler Streifen zurück den ich loswerden möchte.
          Weiter habe ich versucht mit einem weiteren "fetchblock" zu verhindern dass {title} weiterhin ausgelesen wird, aber es ist nicht möglich, mehrere BEGIN / END in einander zu verknüpfen wie unten versucht wird:

          PHP-Code:
          ]<table>
          <!-- 
          BEGIN title -->
                  <
          tr bgcolor="#000066"
                    <
          td height="{height}" colspan="2"><font color="#FFFFFF">{title}</font></td>
                  </
          tr>
          <!-- 
          BEGIN subtitle -->
                  <
          tr bgcolor="#000066"
                    <
          td>{subtitle}</td>
                  </
          tr>
          <!-- 
          END title -->
          <!-- 
          END subtitle -->
                </
          table
          irgend ne lösung für das problem?

          Kommentar


          • #20
            ich hab das problem in zwischenzeit auf etwas komplexe art umgangen, allerdings ist das script jetzt durch haufenweise if /else bedingungen verunstaltet...

            falls also trotzdem jemand weiss wie man schleifen bei templates machen kann (was sicher möglich ist) wäre es nett mich das wissen zu lassen

            ich habe auch bei phpbb gesehen dass es funkt ein<!-- BEGIN ... ---!>
            <!-- END ... --!> in ein weiteres <!-- BEGIN ... --!> <!-- END ... --!>
            zu packen.
            allerdings konnte ich nicht herausfinden wo der fehler liegt, ich vermute aber dass es am inc.php file liegen muss.

            irgend jemand ne ahnung? oder zumindest eine andere template-klasse die diese Verschachtelung ermöglicht?

            Kommentar

            Lädt...
            X