Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Schleifen im Templatesystem
Antwort
 
Themen-Optionen
Alt 18.07.2007, 15:50   Nach oben    #1
Stefan125
Neuer Benutzer
 
Registriert seit: 15.07.2007
Beiträge: 5
Standard Schleifen im Templatesystem

Guten Tag ich habe mich durch das Tutorial " [php] Ein eigenes Templatesystem schreiben" gearbeietet und auf der letzten Seite auch einen Beitrag gefunden wodrin eine Möglichkeit beschribeen wird einen bestimmten Teil des Template zu wiederholen.

Hier der Beitrag

Ich hab den Codezu kopiert und versucht zu verstehen. So langsam blick ich durch, nur ich habe keine ahung warum es nicht klappt....

Hier mein loop Test

Der Code ist 1 zu 1 kopiert nichts verändert(außer gewisse Teile wie z.b. in der html {$nickname}).

zu dem Teil den ich überhauptnicht verstehe:

PHP-Code:
include('template.class.php');

    
$sprache 'lang_main.php';

    
$tpl = new Template();
    
$tpl->load'temp2.html' );

    
$lang $tpl->loadLanguage($sprache); 

    
$tpl->assign('nickname''Ulf' );

    
// template mit schleife
    
$loopPart $tpl->getSubpart'loop' );

    
$out '';
    for ( 
$i 0$i 10$i++ ) {

        
// loop
        
$tpl_2 = new Template$sprache$sprache$loopPart);
        
$tpl_2->assign('counter'$i );
        
$out .= $tpl_2->out(1);//< ---- um die Zeile gehts 
    
}

    
$tpl->replaceSubpart

$out .= $tpl_2->out(1);
ist denke ich einmal dazu da das der Template Teil ausgegen wird allerdings was hat da bitteschön die out(1) zu suchen ?? sie bewirkt aber auch garnichts... ^^ oder?

Geändert von Stefan125 (18.07.2007 um 15:53 Uhr).
Stefan125 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.07.2007, 22:09   Nach oben    #2
carrib
Neuer Benutzer
 
Registriert seit: 23.05.2006
Ort: Meerbusch
Beiträge: 15
Standard

Die Methode out()

PHP-Code:
      /** 
     * Das fertige Template ausgeben 
     * 
     * @access    public 
     * @return    boolean 
     */ 
    
public function out() 
    { 
        echo 
$this->template
        return 
true
    } 
erwartet keinen Parameter und liefert auch keinen String als Rückgabewert, der für eine Konkatenation verwendet werden könnten.

Logischerweise würde ich sagen, dass die Methode out() sö ähnlich wie die folgende aussehen sollte:

PHP-Code:
      /** 
     * Das fertige Template ausgeben bzw. zurückgeben
     * 
     * @access    public 
     * @param     int    $return    0 für Ausgabe, 1 für Rückgabe
     * @return    mixed 
     */ 
    
public function out($return
    { 
        if(
== $return) {
            echo 
$this->template;
            return 
true
        } else {
            return 
$this->template;
        }
    } 
carrib ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.07.2007, 00:16   Nach oben    #3
Stefan125
Neuer Benutzer
 
Registriert seit: 15.07.2007
Beiträge: 5
Standard

Vielen Dank da war ich ja schon auf dem richtigen weg bei der fehlersuche

dein code war auch nicht ganz richtig es kam dabei

Missing argument 1 for out()

komplett richtig ist es so

PHP-Code:
      /** 
     * Das fertige Template ausgeben bzw. zurückgeben
     * 
     * @access    public 
     * @param     int    $return    0 für Ausgabe, 1 für Rückgabe
     * @return    mixed 
     */ 
    
function out($return=""
    { 
        if(
== $return) {
            echo 
$this->template;
            return 
true
        } else {
            return 
$this->template;
        }
    } 
wäre ganz gut wenn das jemand ins tutorials schreiben könnte denn soi bringt das ganze nicht viel
Stefan125 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.07.2007, 01:40   Nach oben    #4
ljungi
Blubb... öfz
 
Benutzerbild von ljungi
 
Registriert seit: 16.03.2006
Ort: Berlin
Beiträge: 419
Standard

Wenn dann bitte:

PHP-Code:
      /** 
     * Das fertige Template ausgeben bzw. zurückgeben
     * 
     * @access    public 
     * @param     int    $return    1 für Ausgabe, 0 für Rückgabe
     * @return    mixed 
     */ 
    
function out($return=1
    { 
        if(
== $return) {
            echo 
$this->template;
            return 
true
        } else {
            return 
$this->template;
        }
    } 


Ich finde es (semantisch) logischer, wenn da ne 1 steht, für die Ausgabe. Kann jeder anders sehen, aber $t->out(1) heißt für mich, out? Und als Antwort darauf gibt es die 1 als "ja".

Gute Nacht
__________________
Vive la France! Welcome to Sarkoworld...
ljungi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.07.2007, 02:36   Nach oben    #5
Xean
Erfahrener Benutzer
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 421
Standard

stimmt, aber wenn man so sowas an geht, dann sollte die variable auch $echo oder so heißen anstatt $return...
Xean ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] Ein eigenes Templatesystem schreiben Corvin Tutorials 42 19.03.2008 17:58
Templatesystem von Corvin in PHP4? bl-25 PHP-Programmierung 9 04.04.2007 14:54
Templatesystem erweitern Berti PHP-Programmierung 8 06.12.2006 15:43
Schleifen in einem Template verarbeiten Prophet PHP-Programmierung 11 10.09.2006 19:16
Templatesystem Alpha Centauri PHP-Programmierung 2 09.04.2006 19:35


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:00 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44