Ankündigung

Einklappen
Keine Ankündigung bisher.

Smarty => 1ste allgemeine Verunsicherung

Einklappen

Neue Werbung 2019

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

  • Smarty => 1ste allgemeine Verunsicherung

    Hi.
    Nach viel Stöbern und Empfehlungen auch hier im Forum habe ich mich nun entschlossen meine Site mit Smarty hochzuziehen. Also habe ich mir brav doku dazu besorgt und mußte fetstellen, das ich erstmal förmlich erschlagen werde.
    Kann mir jemand einen Tip geben wie ich mit Smarty am Besten anfange, bzw. kennt jemand ein Einsteiger-Tut. Mit Sachen wie Smarty für den Template-Designer und Smarty für den Programmier fühl ich mich schlicht etwas "verunsichert".
    Was brauch ich für den Anfang? Ich zunächst ermal ein Gästebuch und ein oder zwei Datenbankgestütze Inhalte realisieren. Das Ganze soll natürlich über einen Navi-"Frame(DIV-Con. oder ähnliches)" "steuerbar sein.
    Thx
    Canni

  • #2
    ich bin ein absoluter smarty gegner .... aber egal

    du solltest dir ernsthaft überlegen ob du für so ein kleines projekt smarty nehmen willst,
    ich denke da reichen auchein paar kleine funktionen wie:
    PHP-Code:
    <?php

    //dynamischer inhalt aus db
    $title /*mysql*/ 'test';
    $test 'hier steht der inhalt für test';

    $bla = array (
       
    "{TITLE}" => $title,
       
    "{HEADLINE}" => "blablabla.",
       
    "{AUTOR}" => "han unbekannt",
       
    "{DATUM}" => "irgentwan",
       
    "{TEST}" => $test
       
    );


    function 
    tpl($tpl_datei,$dbarray)
    {
        
    $datei=file_get_contents($tpl_datei);
        foreach(
    $dbarray as $temp1=>$temp2)
        {
          
    $arrays[]=$temp1;
          
    $array[]=$temp2;
        }
        
    $da=str_replace($arrays,$array,$datei);
        return 
    $da;
    }
    print 
    tpl("bla.tpl",$bla);
    ?>
    html (bla.tpl) könnte dann so aussehen
    Code:
    <title>{TITLE}</title>
    </head>
    <body>
    <h1>{HEADLINE}</h1>
    
    
    Autor: {AUTOR} - Datum: {DATUM}
    </p>
    
    
    {TEST}</p>

    Kommentar


    • #3
      Dem Smarty Paket liegt ein Beispiel bei, da werden alle grundlegenden Sachen vorgeführt. Die Doku von Smarty finde ich im Gegensatz zu ganz anderen doch recht aufgeräumt. Wenn du die Grundlegenden Sachen hast, kannst du dir auch mal das modifier System von Smarty angucken, für ein Gästebuch lassen sich dort modifier für Smilyes und BB-Codes einbauen.

      Kommentar


      • #4
        du solltest dir ernsthaft überlegen ob du für so ein kleines projekt smarty nehmen willst,
        ich denke da reichen auch ein paar kleine funktionen wie:
        äh.. das mit dem GB war ein Beispiel. Ich WEISS das es deutlich größer wird. Deshalb das zunächst...

        Kommentar


        • #5
          Ich finde Templates sind bei Mittleren bis Großprojekten Pflicht, was dagegen spricht ist mir nicht ganz klar.

          Wie andy schon sagte ist Smarty gut dokumentiert, hast du den Link Crash Course mal durchgelesen?

          Schau dir einfach mal folgende Smarty-Tags genauer an, damit hast du schon die halbe Miete:
          {if}..{else}..{/if}
          bedingte Anzeige

          {foreach}..{foreachelse}..{/foreach}
          um Schleifen zu realisieren, grade fürs Gästebuch unausweichlich

          {literal}..{/literal}
          um JavaScript und CSS-Code im Header zu definieren, die ja auch { und } verwenden

          Auf Konstanten kannst du mit {$smarty.const.KONSTANTE} bzw. {$smarty.server.PHP_SELF} zugreifen (das ist jetzt aus dem Kopf, keine Garantie).

          Einstellungen für Smarty, die man für den Anfang kennen sollte:
          PHP-Code:
          <?php
          $template 
          = new Smarty();
          $template->template_dir PFAD_ZUM_TPL_BASIS_VERZEICHNIS// er ist die Basis für example.tpl bei $template->display('example.tpl');
          $template->compile_dir PFAD_AN_DEM_SMARTY_SEINEN_CACHE_ABLEGEN_KANN;
          $template->error_reporting E_ALL;
          $template->caching true// cache ist halbwegs intelligent, kann man drin lassen
          // falls eine Änderung nicht übernommen wurde, "compile_dir" einfach leeren
          $template->debugging true// falls was nicht klappt, sonst false
          ?>
          Lohnt sich durchzulesen:
          http://smarty.php.net/manual/en/lang...les.smarty.php
          http://smarty.php.net/manual/en/lang....variables.php

          Kommentar


          • #6
            Nein. den Crash-Link kenne ich nicht. Geb ich mir mal heute abend. Thx.
            Den ersten hab ich schon hingekriegt ( wie auch schon von Zergling gepostet ). Hat eigentlich recht gut gefunzt - bis auf Tippfehler . Nur kam mir dann der Gedanke wie ich das ganze in bestimmte Bereiche der Seite darstellen kann ( also z.B. links die Navi, in der Mitte der jeweilige Inhalt und rechts "noch was anders" ). Irgendwas blockiert da bei mir... noch

            Kommentar


            • #7
              Zitat von Canni
              Nur kam mir dann der Gedanke wie ich das ganze in bestimmte Bereiche der Seite darstellen kann ( also z.B. links die Navi, in der Mitte der jeweilige Inhalt und rechts "noch was anders" ). Irgendwas blockiert da bei mir... noch
              Du kannst Templates auch verschachteln. Bau dir z.B. ein "Mastertemplate", in dem nur das grobe Layout definiert wird (z.b. die einzelnen div-container für navi, content, rechts), innerhalb dieser div-container definierst du Variablen, die du dann wieder dynamisch füllst, wobei du hierbei auch wieder Templates benutzen solltest...

              Kommentar


              • #8
                Das von louis mal in Code ausgedrückt:
                Code:
                <html>
                    <head>
                        {include file=head.tpl}
                    </head>
                    <body>
                        {include file=navigation.tpl}
                        {include file=$content}
                    </body>
                </html>

                Kommentar

                Lädt...
                X