Smarty

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

  • Smarty

    Hallo!
    Ich mache garade meine ersten Schritte mit der Template-Engine Smarty.

    Ich habe gerade die Installation abgeschlossen und wollte jetzt das letzte Script von http://smarty.php.net/manual/de/inst...arty.basic.php testen. Ich habe meines so umgeschrieben:

    PHP-Code:
    <?php

    define
    ('SMARTY_DIR','C:\Programme\xampp\php\pear\smarty\libs\\');
    require(
    SMARTY_DIR.'Smarty.class.php');

    $smarty = new Smarty();

    $smarty->template_dir '/htdocs/kisi/smarty/templates/';
    $smarty->compile_dir '/htdocs/kisi/smarty/templates_c/';
    $smarty->config_dir '/htdocs/kisi/smarty/configs/';
    $smarty->cache_dir '/htdocs/kisi/smarty/cache/';

    $smarty->assign('name','Ned');

    $smarty->display('index.tpl');
    ?>
    Ich bekomme folgende Fehlermeldung:

    Warning: Smarty error: unable to read resource: "index.tpl" in C:\Programme\xampp\php\pear\smarty\libs\Smarty.class.php on line 1095

    in dieser Zeile steht
    function trigger_error($error_msg, $error_type = E_USER_WARNING)
    {
    trigger_error("Smarty error: $error_msg", $error_type);
    }

  • #2
    existiert die index.tpl? Pfad korrekt?

    Kommentar


    • #3
      Re: Smarty

      Original geschrieben von Kisi
      Warning: Smarty error: unable to read resource: "index.tpl" in C:\Programme\xampp\php\pear\smarty\libs\Smarty.class.php on line 1095
      File und Zeilenangabe kannst du bei Smarty vergessen...

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Arggg.... die index.tpl Datei habe ich vergessen zu erstellen.

        Aber mal eine andere Frage. Ich habe bis jetzt ja nur etwas von der Smarty-Template-Engine gehört. Ich wollte jetzt mal fragen, ob dies die "beste" Engine ist, oder ob es noch bessere gibt.

        Kommentar


        • #5
          Es gibt keine "Beste". Es gibt nur geeignet oder ungeeignet. Und das musst du selber wissen.

          Kommentar


          • #6
            Alle Template-Engines sind Müll _-_
            php IST eine Template-Engine, wozu noch eine rein knallen?...

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Ich muss immer erst in meinem Template etwas ändern damit die Engine checkt, dass ich am php-code etwas geändert habe. Ist das eigentlich normal?

              Kommentar


              • #8
                hast dus caching an?

                nutze smarty eher selten.

                Kommentar


                • #9
                  nein, caching ist auf 0 , also aus. Wieso soll ich es eher selten verwenden?
                  Es sind doch ganze Foren wie z.B. WoltLab "auf Templates" programmiert.

                  Kommentar


                  • #10
                    ich weiß nicht, ob ich 100% richtig liege (andere könnens ja verbessern :P) aber eine Template-Engin dient der Trennung von Code und Design. Was dir natürlich eine erheblich größere Übersicht bringt.

                    Die ganzen Boards bauen darauf auf, weil sie eine Engin für ihr Temlpatewechsel nutzen.

                    Wäre ziemlich umständlich immer wieder n komplett neuen Code für ein neues Design zu schreiben..

                    Man ersetzt bei einem Template ja einen string durch einen Code.. in Foren wie BurningBoard wird immer der gleiche stringtag genutzt, was das Designen für User einfach macht.

                    So, bitte nicht killen wenns nicht stimmt
                    wahlweise frag mal Wikipedia.. *g*

                    Kommentar


                    • #11
                      Original geschrieben von Flyde
                      aber eine Template-Engin dient der Trennung von Code und Design.
                      Dass man Datenverarbeitung und Ausgabe trennt, sollte ja sowieso logisch sein - auch wenn man ohne extra Template-Engine arbeitet, und nur in PHP oder $sonstigeSprache scriptet - EVA lässt grüßen ...


                      Ich seh das ähnlich wie ghostgambler - für Projekte nicht exorbitanter Größenordnung heißen meine Template-Engines sprintf() und ggf. auch mal Heredoc.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Original geschrieben von Kisi
                        Ich muss immer erst in meinem Template etwas ändern damit die Engine checkt, dass ich am php-code etwas geändert habe. Ist das eigentlich normal?
                        Nein ... wenn caching aus ist, hängt vielleicht ein Proxy zwischen Server und Client? Normal ist das auf keinen Fall...

                        Original geschrieben von Flyde
                        ich weiß nicht, ob ich 100% richtig liege (andere könnens ja verbessern :P) aber eine Template-Engin dient der Trennung von Code und Design. Was dir natürlich eine erheblich größere Übersicht bringt.
                        wozu man aber keine Template-Engine braucht

                        Die ganzen Boards bauen darauf auf, weil sie eine Engin für ihr Temlpatewechsel nutzen.
                        weil sie's nicht besser können ... Style-Wechsel werden schon lange einfach dadurch vollzogen, dass man die CSS-Datei austauscht. Es geht einfach nicht in die Köpfe der Leute, dass HTML nur eine Struktur-Sprache ist, CSS ist zum Klicki-Bunti-Toll-machen, Folge, wenn man das Klicki-Bunti ändern will, ändert man das CSS, NICHT das HTML!


                        Man ersetzt bei einem Template ja einen string durch einen Code.. in Foren wie BurningBoard wird immer der gleiche stringtag genutzt, was das Designen für User einfach macht.
                        ernsthaft, es hat mehr Sinn, wenn der Layouter ein paar Grundbegriffe von PHP lernt und dann da Variablen ausgeben/verarbeiten kann, als wenn er eine Software-spezifische-Template-Sprache lernt

                        Original geschrieben von wahsaga
                        Ich seh das ähnlich wie ghostgambler - für Projekte nicht exorbitanter Größenordnung heißen meine Template-Engines sprintf() und ggf. auch mal Heredoc.
                        Bei großen Projekten, sollte man sich Template-Engines erst recht klemmen! Die gehen meist nämlich recht deutlich auf die Performance...


                        Wie ich schon sagte, Struktur ins HTML, Rest ins CSS. Wenn das nicht reicht, sollte man, statt auf sowas simples wie eine Template-Enginge, gleich auf XSL(T) ausweichen <- meine Meinung

                        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                        Wie man Fragen richtig stellt

                        Kommentar

                        Lädt...
                        X