Ankündigung

Einklappen
Keine Ankündigung bisher.

zwei fragen zu meiner templatefunktion

Einklappen

Neue Werbung 2019

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

  • zwei fragen zu meiner templatefunktion

    hallo!

    ich wollte euch kurz fragen was ihr zu dieser funktion sagt:

    PHP-Code:
    <?php
      
    function tpl$template$variables$values ){

        
    $source file('source.html');

        foreach( 
    $source as $rows ){
          @
    $count++;
          if( 
    preg_match"//i"$rows ) ){
            
    $start $count;
          }
          if( 
    preg_match"//i"$rows ) ){
            
    $end $count-2;
          }
        }

        for( 
    $i=$start$i<=$end$i++ ){

          
    $o 0;
          foreach( 
    $variables as $vars ){
            
    $source[$i] = str_replace"{".$variables[$o]."}"$values[$o], $source[$i] );
            
    $o++;
          }

            echo 
    $source[$i];

        }
      }
    ?>
    ich hab mir gedacht ich mach ein template system in dem der ganze htmlschmafu dann in einer einzigen html-datei steht und die funktion halt immer die bestimmten zeilen ausgibt.
    funktionieren tuts ausserdem recht gut...
    etwas unsch�n finde ich den bereich hier:

    PHP-Code:
    <?php
    ...
          
    $o 0;
          foreach( 
    $variables as $vars ){
            
    $source[$i] = str_replace"{".$variables[$o]."}"$values[$o], $source[$i] );
            
    $o++;
          }
    ...
    ?>
    kann ich das eventuell mit einer whileschleife l�sen??
    ich kenn die whileschleifen nur von den mysqlabfragen

    aufgerufen wird das ganze so:

    PHP-Code:
    <?php
      $values    
    = array ( 'bernhard''mal hallo sagen' );
      
    $variables = array ( 'name''titel' );

      echo 
    tpl'a'$variables$values );
    ?>
    und so sieht dann der htmlcode in der html datei aus:

    PHP-Code:
    [b]{titel}[/b]

    hallo {name},

    wie geht's dir denn heute? 

  • #2
    benutz durchgehend php Tags, code und php-Tags gehen im Forum nicht zusammen

    Kommentar


    • #3
      ok jetzt ist mir klar warum das so sch...ön ausgesehen hat

      Kommentar


      • #4
        Was findest du daran unschön bzw. was erwartest du dir von einer while-Schleife?

        Kommentar


        • #5
          naja das " as $vars" ist eigentlich unnötig weil ich die variable ja nicht brauche!

          Kommentar


          • #6
            Dann benutz ne for-Schleife. Hat zudem den Vorteil, das keine Kopie des Arrays angelegt wird.

            Kommentar


            • #7
              danke!

              Kommentar


              • #8
                Template: Have a look @ Smarty

                Kommentar


                • #9
                  danke für den tipp, aber ich hab mir das schon ein bissl angesehen aber irgendwie ist mir das zu viel code..
                  ich will maximal 1 datei mit der templatefunktion und maximal eine datei für das gesamte html-zeug! *minimalist*

                  Kommentar


                  • #10
                    nagut, eine Datei für Template-Funktion ist denkbar, wobei diese dann gerne unübersichtlich und eventuell ineffizient wird (im Vergleich zu existierenden Template-Engines). Der Vorteil von Smarty ist, dass es nur ein Verzeichniss (auf oberster Ebene ) hat, was ja fast genauso gut ist wie eine Datei, und dass es eben scho lange erprobt und funktionstüchtig ist und auch sehr umfangreich ist. Wie du allerdings alles html in eine Datei kriegst, will ich sehn ^^

                    Kommentar


                    • #11
                      naja die einzige schwierigkeit die ich im moment habe ist die wiederholung von verschiedenen elementen.. damit meine ich zb:

                      überschrift
                      text
                      überschrift
                      text
                      überschrift
                      text

                      sollte eigentlich

                      überschrift
                      text
                      text
                      text

                      sein.. aber das werd ich (hoffentlich) auch noch irgendwie hinbekommen! mal sehn was rauskommt

                      Kommentar

                      Lädt...
                      X