Smarty und PHP

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

  • Smarty und PHP

    Ich grübel jetzt schon ne Weile wie ich in Smarty PHP Code einbinden kann. Direkt im Template muss es ja irgendwie gehen da man sonst a nix coden könnte. Und ich will nich immer mit diesem dummen smarty code arbeiten
    FIAE

  • #2
    Sind Templates nicht dazu da phpcode und htmlseiten zu trennen
    Zuletzt geändert von Seccho; 29.11.2003, 14:23.
    _____________
    Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
    [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

    Kommentar


    • #3
      Original geschrieben von Seccho
      Sind Templates nicht dazu da phpcode und htmlseiten zu trennen
      Jupp.
      Falls du es immernoch willst:

      {php}

      {/php}

      oder

      {literal}
      {php}

      {/php}
      {/literal}

      probier das mal aus...

      Kommentar


      • #4
        Original geschrieben von Seccho
        Sind Templates nicht dazu da phpcode und htmlseiten zu trennen
        hm stimmt , gebt mir mal ein beispiel wie ich phpcode einbinden kann ohne ihn direkt ins tpl zu schreiben ?
        FIAE

        Kommentar


        • #5
          OffTopic:

          ich muss ma sagen das ich so was wie smarty nicht leiden kann

          wie schon seccho sagte sind templates dazu da um html und php zu trennen. da brauch ich son schnickschnack nicht!!! ausserdem wird eine schleife in php schneller sein als in templates da mit smarty!
          naja

          Kommentar


          • #6
            Original geschrieben von Trashar
            OffTopic:

            ich muss ma sagen das ich so was wie smarty nicht leiden kann

            wie schon seccho sagte sind templates dazu da um html und php zu trennen. da brauch ich son schnickschnack nicht!!! ausserdem wird eine schleife in php schneller sein als in templates da mit smarty!
            naja
            OffTopic:

            Das mit den Schleifen ist schon richtig,aber Smarty ist nicht schlecht...Man kann ganze Seiten mit nur einem Template aufbauen(normalerweise braucht man viele kleine Templates).Ich benutzte es für mein Board und ich bin zufrieden.Einziger schwachpunkt ist,dass Ich mit Smarty nicht cachen kann,weil sich mein Board damit nicht verträgt...Mit cachen hätte man einen 70% Geschwindigkeitsvorteil und das is doch nicht schlecht

            Kommentar


            • #7
              könnte mir jetzt bitte einer meine frage beantworten ^^
              FIAE

              Kommentar


              • #8
                hey,

                also als erstes erstellst Du in Deinem php Skript eine Smarty-Instanz.
                dann kannst Du mittels assign() variablen zuweisen. Am Ende deines Skriptes rufst Du noch die display Methode auf, um Dein template zu parsen.

                PHP-Code:
                $smarty = new Smarty();
                $smarty->assign("TPL_VAR",$php_var);
                $smarty->display("dein_tpl"); 
                Dann erstellst Du Dein htm template. Wenn Du dort z. B. diese Variable ausgeben willst, schreibst Du einnfach

                <tr><td>{$TPL_VAR}</td></tr>

                Hoffe das ich Deine Frage richtig verstanden hab.

                PS: Man sollte wirklich davon absehen, php code in smarty einzubinden! Sonst kann man sich ja templates gleich sparen!

                Kommentar


                • #9
                  also müsste ich praktisch alle php scripts in der index.php oder per include in die index.php einbinden ?
                  FIAE

                  Kommentar


                  • #10
                    ich weiss jetzt nicht genau worauf Du hinaus willst

                    Vielleicht hilft es, wenn Du Dein Prob etwas genauer beschreiben , oder Beispiel source posten könntest.

                    Kommentar


                    • #11
                      habs schon nur hab ich jetzt ein neues problem ^^

                      haben ein news system und will mir die news ausgeben lassen mit folgendem code :

                      PHP-Code:
                      <?php
                      require 'libs/Smarty.class.php';
                      include (
                      'configs/sql.php');
                      $dbconnect=mysql_connect("$host","$user","$pw");
                      mysql_select_db('$db');
                      $newszeigen="SELECT 'id','name','titel','newssmal','newslarge','time' ";
                      $ergebnis=mysql_query($newszeigen,$dbconnect);
                      $smarty = new Smarty;
                      $smarty->assign("news",$ergebnis);
                      $smarty->display('index.tpl');
                      ?>
                      zeigt aber nix an nur resource of #id4 oder sowas
                      FIAE

                      Kommentar


                      • #12
                        hm, was du brauchst ist ein PHP-Buch. Oder lies' dir mal das PHP- und das Smarty-Handbuch durch. Beides gibts auf deutsch.

                        @Smarty: Smarty ist genial. Ich benutze es für diverse Anwendungen und konnte nie klagen. Leider sind nicht alle Features PHP5-kompatibel, aber das wird schon noch (hoffe ich doch).
                        [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                        [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                        [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                        © Harald Schmidt

                        Kommentar


                        • #13
                          hab php bücher sind aber alle total dumm geschrieben !
                          FIAE

                          Kommentar


                          • #14
                            dann versuchs mit den angesprochenen manuals...

                            du hattest doch auch so ne dummy-datei angesprochen. kannst du den code nicht evtl. ableiten oder so?

                            Kommentar


                            • #15

                              PHP-Code:
                              <?php
                              require 'libs/Smarty.class.php';
                              include (
                              'configs/sql.php');
                              $dbconnect=mysql_connect("$host","$user","$pw");
                              mysql_select_db('$db');
                              $newszeigen="SELECT 'id','name','titel','newssmal','newslarge','time' ";
                              $ergebnis=mysql_query($newszeigen,$dbconnect);
                              $smarty = new Smarty;
                              $smarty->assign("news",$ergebnis);
                              $smarty->display('index.tpl');
                              ?>
                              zeigt aber nix an nur resource of #id4 oder sowas [/B]

                              du kannst nicht direkt den $newszeigen ausgeben! der zeigt nur auf die einträge, beinhaltet sie aber nicht (deshalb die meldung $id4). du musst das so lösen:

                              //wie vorher
                              $newszeigen="SELECT 'id','name','titel','newssmal','newslarge','time' ";
                              $ergebnis=mysql_query($newszeigen,$dbconnect);


                              if($row= mysql_fetch_array($ergebnis))
                              {
                              $smarty->assign('name',$row['name']);
                              $smarty->assign('titel',$row['titel']);
                              //etc.
                              }

                              Kommentar

                              Lädt...
                              X