Rüdiger: Template System

Hallo an alle,

ich bin grad an der Planung eines CMS Systems...
nun hab ich ein Problem mit den Templates, irgendwie krieg ich da keine ordentliche funktion hin, evtl. könnt ihr mich weiter bringen..

und zwar will ich das aufn server template dateien sind (*.tpl)

die wie in etwa aussehen:

<table>
{start:forum}
<tr>
  <tr>{forum:title}</td>
</tr>
{start:thread}
<tr>
  <tr>{thread:title}</td>
</tr>
{ende:thread}
<tr>
  <tr></td>
</tr>
{stop:forum}
</table>

mit einer schleife habe ich es schonmal hinbekommen, auf dem weg geht es aber nicht mit einer 2ten in der ersten..

nun muss das ganze irgendwie in php umgesetzt werden jedoch scheitere ich irgendwie daran.. bitte um hilfe

  1. Hi,

    und zwar will ich das aufn server template dateien sind (*.tpl)
    die wie in etwa aussehen:

    [...]

    nun muss das ganze irgendwie in php umgesetzt werden jedoch scheitere ich irgendwie daran.. bitte um hilfe

    die Autoren von Smarty sind daran nicht gescheitert.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. ja Smarty hab ich mir auch schon angeschaut ... aber ich will was eigenes haben und nicht auf irgendwas zurück greifen

      1. Hi,

        ja Smarty hab ich mir auch schon angeschaut ... aber ich will was eigenes haben und nicht auf irgendwas zurück greifen

        dann solltest Du entweder PHP lernen, oder Du machst ein Jodeldiplom. Da hast Du auch etwas eigenes.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. dann solltest Du entweder PHP lernen, oder Du machst ein Jodeldiplom. Da hast Du auch etwas eigenes. Cheatah

          Mein großes Vorbild, *schwärm*

        2. Freundlicher gehts es auch bitte ...

          1. Hi,

            Freundlicher gehts es auch bitte ...

            und wieder einmal: Wenn Dir die Antwort nicht gefällt, könnte das an der Frage liegen. Lies diese noch einmal und dann sage mir, was man darauf wohl antworten kann.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Moin,

              und wieder einmal: Wenn Dir die Antwort nicht gefällt, könnte das an der Frage liegen. Lies diese noch einmal und dann sage mir, was man darauf wohl antworten kann.

              In dem verlinkten "Text" ist kein Fragezeichen enthalten, demnach kann auch keine Frage enthalten sein.

              MfG
              MarkX.

              1. Hi,

                In dem verlinkten "Text" ist kein Fragezeichen enthalten, demnach kann auch keine Frage enthalten sein.

                touché.

                Cheatah :-)

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
          2. Mahlzeit,

            Freundlicher gehts es auch bitte ...

            Ja, wie? Du erzählst hier etwas davon, dass Du ein "Template-System" entwickeln willst, postest etwas fehlerhaften HTML-Code, lässt durch Deine Bemerkungen vermuten, dass Du nicht unbedingt der Profi in PHP bist (ich sage nur "irgendwie krieg ich da keine ordentliche funktion hin" und "mit einer schleife habe ich es schonmal hinbekommen, auf dem weg geht es aber nicht mit einer 2ten in der ersten") und willst - nachdem Dir Cheatah einen guten Hinweis auf ein wirklich benutzbares Template-System gegeben hat - lieber "was eigenes" basteln ... wie ernst soll man das nehmen?

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Mahlzeit,

    nun hab ich ein Problem mit den Templates, irgendwie krieg ich da keine ordentliche funktion hin, evtl. könnt ihr mich weiter bringen..

    Was für eine Funktion?

    <table>
    {start:forum}
    <tr>
      <tr>{forum:title}</td>
    </tr>

    Dir ist schon klar, dass dieser "HTML-Code" Müll ist? Innerhalb eines <tr> sind keine weiteren <tr> erlaubt und Tags, die Du öffnest, musst Du auch wieder schließen. Und wieso nutzt Du Tabellen für nicht-tabellarische Daten?

    mit einer schleife habe ich es schonmal hinbekommen, auf dem weg geht es aber nicht mit einer 2ten in der ersten..

    Was für Schleifen? Was willst Du? Vielleicht solltest Du Dir das (nochmal) durchlesen ...

    nun muss das ganze irgendwie in php umgesetzt werden jedoch scheitere ich irgendwie daran.. bitte um hilfe

    Weißt Du, welches Wort ich irgendwie liebe?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  3. echo $begrüßung;

    <table>
    {start:forum}
    <tr>
      <tr>{forum:title}</td>
    </tr>
    {start:thread}
    <tr>
      <tr>{thread:title}</td>
    </tr>
    {ende:thread}
    <tr>
      <tr></td>
    </tr>
    {stop:forum}
    </table>
    mit einer schleife habe ich es schonmal hinbekommen, auf dem weg geht es aber nicht mit einer 2ten in der ersten..

    Du brauchst, wie mir scheint hier ein System, dass sich merkt, dass es an einem Start-Element vorbeikam. Wenn das dazugehörige End-Element auftaucht, ist der Block fertig eingelesen und kann bearbeitet werden. Wenn dazwischen ein weiterer Block beginnt, musst du zuerst diesen behandeln. Das sieht recht rekursiv aus, nicht wahr? Um die Übersicht über die Verschachtelungen zu behalten, kannst du beispielsweise einen Kellerautomaten verwenden.

    echo "$verabschiedung $name";