kölir: Für Gästebucheinträge Template oder einfaches echo

Hallo,

da ja in einem Gästebuch letzendlich jeder Eintrag gleich formatiert wird kam mir grad so der Gedanke, man könnte dafür dann ein "Template" nehme, und somit einfachere konfigurierbarkeit erreichen...

Derzeit geben ich einfach die Beiträge in einer Schleife mit einem
echo<<<eintrag
<div>Blabla$nameblabla</div>
eintrag;

aus.

Ist die Template version überhaupt gebräuchlich sinnvoll...ist eher so eine Schnapsidee von mir

Und noch was, ich habe mir gedacht ich könnte vielleicht auch einfach eine Variable mit der Formatierung füllen.
z.B.: $format="<div>$name</div>\n$text";
doch wie schaffe ich es, dass diese Variablen in der Variable später innerhalb der Schleife bei der Ausgabe erstezt werden?

Gruß

  1. Ich grüsse den Cosmos,

    doch wie schaffe ich es, dass diese Variablen in der Variable später

    z.B. mit eval(). Ist aber nicht grad sauber.
    Schau dir doch mal Templateengines an. Sehr umfangreich und leistungsfähig: Smarty
    Weniger Unfangreich aber für kleine Sache ausreichend: HTML_Template_IT aus den PEAR-Klassen.

    Es gibt noch massenhaft andere, ich nutze nur noch Smarty, weil es den Code vereinfacht und Design vom Code optimal trennt.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
    1. Hi!

      Schau dir doch mal Templateengines an. Sehr umfangreich und leistungsfähig: Smarty

      Ja, ohne Zweifel: eine klasse Template-Engine. Hat mal ganz klein angefangen und ist mittlerweile doch recht groß geworden.

      Es gibt noch massenhaft andere, ich nutze nur noch Smarty, weil es den Code vereinfacht und Design vom Code optimal trennt.

      Damit kann man ja auch wirklich gut arbeiten, allerdings gibt es auch viele Seiten von mir, wo ich nie auf die Idee kommen würde, Smarty einzusetzen.
      Wenn ich jetzt für eine Website ein Gästebuch erstellen soll, dann handelt es sich nur um eine einzige Seite, die ich im Design der Site erstelle.
      Wenn ich da nicht bereits mit einer Template-Engine arbeite, dann nutze ich diese auch nicht für die Gästebuch-Seite.

      Naja und für viele Dinge ist mir Smarty auch einfach zu groß.
      Kommt immer drauf an, was ich machen muß...
      Oftmals setze ich auch eine ganz kleine selbstgeschriebene Template-Engine, die bei weitem nicht so viele Funktionen wie Smarty hat.
      Je nach Projekt sind solche Dinge wie das "Compilieren" der Templates oder der Caching-Mechanismus einfach viel zu oversized.

      Schöner Gruß,
      rob

      1. Hi,

        also ich meine für ein kleines Gästebuch wäre Smarty übertrieben.

        Ich meine normalerweise gestalte ich einfach ein
        echo<<<eintrag
        Mit den Formatierungen für den Eintrag und das kann dann auch schnell verändert werden
        eintrag;

        Ich dachte bloß, ob es vielleicht einfacher wäre um die Einträge von nicht php-lern bearbeiten zu lassen eine Art Template zu nutzen...

        Gruß

        1. Lieber kölir,

          Ich dachte bloß, ob es vielleicht einfacher wäre um die Einträge von nicht php-lern bearbeiten zu lassen eine Art Template zu nutzen...

          das sollte dann ein Admin-Bereich ermöglichen, den Dein Gästebuch enthält. Jedenfalls mache ich das so...

          Liebe Grüße aus Ellwangen,

          Felix Riesterer.

          --
          ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
          1. Hallo,

            ich meinte jetzt eher gestalterisch umarbeiten lassen von einem HTMLer...

            Sodass das Layout eines Eintrages geändert werden kann...

            Gruß

            1. Lieber kölir,

              ich meinte jetzt eher gestalterisch umarbeiten lassen von einem HTMLer...

              Sodass das Layout eines Eintrages geändert werden kann...

              Layout wird mit CSS realisiert. Ein "HTMLer" ist dazu eher die weniger gute Adresse. Der HTML-Code sollte so bleiben, wie er ist (wenn er sinnvoll ausgearbeitet ist), um nur mit CSS-Mitteln optisch gestaltet (also "gelayoutet") zu werden!

              Liebe Grüße aus Ellwangen,

              Felix Riesterer.

              --
              ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
              1. Hallo,

                ahhh...missverständins...;-)...ich meine einfach wenn man den Code umgestalten möchte z.B. den Name nichtmer über dem Gästebucheintrag sondern darunter...

                Gruß

                1. Lieber kölir,

                  ahhh...missverständins...;-)

                  ganz bestimmt nicht!

                  ...ich meine einfach wenn man den Code umgestalten möchte

                  Wozu?

                  z.B. den Name nichtmer über dem Gästebucheintrag sondern darunter...

                  Das geht mit CSS.

                  Liebe Grüße aus Ellwangen,

                  Felix Riesterer.

                  --
                  ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
                  1. Hi,

                    also ich meine wenn man das Grundgerüst von

                    <h3>%%name%%</h3>
                    <p>%%nachricht%%</p>

                    zu

                    <p>%%nachricht%%</p>
                    <h3>%%name%%</h3>

                    umgestaltet.

                    Das macht man doch nicht mit css, den Namen unter den Beitrag ziehen!

                    Gruß

                    1. Lieber kölir,

                      <h3>%%name%%</h3>
                      <p>%%nachricht%%</p>

                      zu

                      <p>%%nachricht%%</p>
                      <h3>%%name%%</h3>

                      ... ist völliger Blödsinn! Das hat von der Dokumentstruktur her absolut keinen Sinn! Wenn Du den Namen unterhalb der Nachricht anzeigen lassen willst (das ist eine optische Frage, keine strukturelle!!!), dann mache das mit der Hilfe von CSS! Ich bin mir überdies auch nicht sicher, ob <h3>-<p> eine sinnvolle HTML-Auszeichnung von Poster-Posting ist... Jedenfalls löse ich das in meinem GB-Script anders. Und wenn es anders _aussehen_ soll, dann lasse ich absolut die Finger vom HTML-Code (Struktur) und wende mich _ausschließlich_ an den CSS-Code (Aussehen).

                      Aber mach Du nur, was Du für richtig hälst. Schließlich ist vieles hiervon Ansichtssache und Erfahrungswerte.

                      Liebe Grüße aus Ellwangen,

                      Felix Riesterer.

                      --
                      ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
                      1. Hallo,

                        das war nur ein Beispiel! So verwende ich das nicht in meinem Gästebuch...

                        Also du lässt etwa den HTML-Code immer unberührt? Wenn du ihn einmal geschirben hast änderst du nie wieder was? Um das geht es mir, ob man den dann nicht einfacher ändern könnte...

                        Und wie lässt du ein Element, das über einem anderen steht mit css unter diesem erschienen?

                        Natürlich hat jeder andere Erfahrungen und Gesichtspunkte, aber ich würde das gerne nachvollziehen können...

                        Gruß

                        1. Lieber kölir,

                          Also du lässt etwa den HTML-Code immer unberührt? Wenn du ihn einmal geschirben hast änderst du nie wieder was?

                          wenn es nur um's Aussehen geht, dann versuche ich das, ja. Ich hätte viel zu tun, wenn ich nur wegen eines solchen Features eine komplette Website mit vielen Unterseiten "umschreiben" müsste, nur weil ich einen optischen Aspekt anders haben möchte.

                          Um das geht es mir, ob man den dann nicht einfacher ändern könnte...

                          Es ist immer eine Frage von Aufwand und Nutzen. Je nachdem wie Deine Seite (in Deinem Falle das GB) gestaltet ist, musst Du als Autor abwägen, wie Du was realisieren möchtest. In meinem Falle handelt es sich um eine größere Internetpräsenz (Website meiner Schule), sodass ich tatsächlich nur am CSS herumzuschrauben versuche.

                          Und wie lässt du ein Element, das über einem anderen steht mit css unter diesem erschienen?

                          Das kommt ganz darauf an... Das kann ich so pauschal nicht beantworten. Mir fallen dazu spontan Mittelchen wie position oder float ein.

                          Natürlich hat jeder andere Erfahrungen und Gesichtspunkte, aber ich würde das gerne nachvollziehen können...

                          Nunja, dann ändere einmal das Layout einer kompletten Internet-Präsenz inklusive Druckversion - dann reden wir weiter! ^^

                          Liebe Grüße aus Ellwangen,

                          Felix Riesterer.

                          --
                          ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  2. hi,

    Und noch was, ich habe mir gedacht ich könnte vielleicht auch einfach eine Variable mit der Formatierung füllen.
    z.B.: $format="<div>$name</div>\n$text";
    doch wie schaffe ich es, dass diese Variablen in der Variable später innerhalb der Schleife bei der Ausgabe erstezt werden?

    Du möchtest dir printf() bzw. sprintf() anschauen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }