![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Hallo, ich bin neu hier. Hab mal ein bisschen gestern geguckt. Hab dort ein Template System (Tutorial) gefunden, heute nicht mehr Ich kenn mich gut mit HTML, CSS und Javascript aus. Aber sehr schlecht bisher mit PHP und MySQL. Trotzdem möchte ich aber gerne ein eigenes Templatesystem erstellen mit Platzhaltern natürlich und wo ich mehrere Sprachen auswählen kann. Also so wie bei PHPBB2 {L_...}, sowas wäre super. Ich bin zwar schon sehr froh das jetzt entlich mal Smarty bei mir läuft aber wie ich da so eine Funktion hinzufügen kann weis ich leider nicht. Ich bin bei meinem Tutorial bis zu dem Punkt "MySQL Tabellen" gekommen. Das Wissen bis dahin reicht leder nicht aus für so ein System oder? http://tut.php-q.net/ außerdem würde ich sehr gerne wollen das Hyperlinks einen extra Platzhalter wie z.B. {H_...} bekommen. Ist das möglich? Vielleicht könnt ihr mir hier gute Tipps und vor allem Tutorials geben die auch funktionieren (bei mir hat bisher fast keins funktioniert Ich hoffe es mal! Denn ich plane die Version 2 der Homepage FairLife (http://www.fairlife-projekt.de) |
| |
| | Nach oben #2 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 395
|
Wie, du hast gestern geguckt und heut isses nich mehr da? hier isses doch und hier noch eins ... Wie wärs, wenn du dir zuerst mal alle Artikel von tut.php-q.net durchließt, dann ein wenig OOP auf http://php.net/oop5 , und dich dann erst an ein Template-System wagst? Jojo PS: Das mit der Satzstellung üben wir aber noch ein wenig...
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int Geändert von Ben (19.06.2007 um 18:22 Uhr). |
| |
| | Nach oben #3 | |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
jo, genau das ist es! das erste. Gefällt mir recht gut. Hab es eingebunden und klappt mal ausnahmsweise bei mir! Jetzt hätte ich noch zwei Fragen: 1. Wie kann ich den Platzhalter {H_...} "reservieren" in dem ersten Template System? 2. Ich möchte gerne weitere Templates unter verschiedenen Ordnern in dem "/templates" Ordner machen. Wie geht das? Also ich möchte jetzt nicht nur ein Template wo "/template/index.tpl" ausreicht, sondern z.B. "/template/default/index.tpl" einrichten und noch andere! Wie geht das? Aber gleichzeitig das er nicht direkt geladen wird vom Index < ------------------------------------------------------------------------------------------------ > Doppelposting - 2ter post: < ------------------------------------------------------------------------------------------------ > Zitat:
Geändert von Jann Hendrik (11.09.2006 um 20:44 Uhr). Grund: doppelposting | |
| |
| | Nach oben #4 |
| Jonas Registriert seit: 03.06.2006
Beiträge: 239
|
Es geht ja auch nicht um ein Tutorial zu Templates, sondern darum, dass du dir PHP-Kenntnisse aneignest, damit du das gewünschte umsetzten kannst. Dass läuft hier nicht nach dem Prinzip: Ich stelle eine Frage und die Community liefert mir Code. Gegen Geld sieht das dann schon anders aus.
__________________ Applikations-Programmierung: BlitzMax, BlitzPlus Webentwicklung: PHP, (X)HTML, CSS, JavaScript, MySQL |
| |
| | Nach oben #5 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 395
|
Nein, sicherlich nicht, aber du sagst selbst von dir, dass du nicht gut in PHP bist. Wenn du erst bei MySQL bist, gilt es meiner Meinung nach für dich noch viel zu lernen. Auch wenn es nicht direkt was mit deinem Template-System zu tun hat ist es dennoch zwingendes Grundwissen. @Artemis danke, war zu langsam Desweiteren könntest du mit dem Grundwissen, das wir dir anraten deine Fragen selbst lösen, wobei ich nicht genau weiß, was du mit 1. meinst. assign() ?
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int |
| |
| | Nach oben #6 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
So, ich hab mir jetzt alles von MySQL im Tutorial durchgelesen, dann OOP, Regex und Sessions, allerdings von Sessiona hab ich ehrlich gesagt nichts so richtig verstanden! Aber für ein Template System brauch ich das ja auch nicht und wie soll ich es weiter machen eurer Meinung nach? Ich sollte mir das OOP ja erst durchlesen! Ich hab mir danach heir das Template System angeguckt, verstehe immer noch nicht alles. Aber vorher hab ich nix verstanden davon, jetzt wenigstens etwas! Immer noch die 2 Fragen. 1. Ist es möglich mehrere Templates in Ordnern zu erstellen ohne sie direkt mit der load Funktion zu laden und an die bereits bestehende Seite "anzuhängen" 2. Ist es auch möglich mehrere Sprachen zu erstellen? |
| |
| | Nach oben #7 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 395
|
Sicherlich ist das möglich, aber so leid es mir tut: Hier bekommst du für lau keinen fertigen Code (außer in den Tutorials). Versuch doch mal, das Templatesystem nachzuschreiben (nicht copy&paste) und dann versuche, deine Ideen zu implementieren. Wenn du nicht weiterkommst und schon nen Anfang hast, dann helfen dir sicherlich alle Leute hier gerne. Grüße, Jojo
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int |
| |
| | Nach oben #10 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Oh, aha. Nagut, guck ich mal! Da ich allerdings recht genaue Vorstellungen von meiner Seite habe was sie alles können soll/muss und was meine Klasse können muss - muss ich fast alles neu schreiben! Aber - ich muss sagen, wenn man solche Sachen selber schreibt wird einem sowas viel verständlicher. Aber trotzdem, weis ich noch viel zu wenig über PHP schätze ich - das kommt erst bei der Anwendung denke ich! |
| |
| | Nach oben #11 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Ok, meine erste Frage ich bin grad dran mir für all meine Verzeichniss einen Platzhalter zu erstellen. Weiter --> Wenn ich jetzt nach der ersten Vorlage vorgehe und ein Template lade gelten die Platzhalter doch nur für dieses eine Template oder? Was muss ich da machen damit das nicht so ist? |
| |
| | Nach oben #12 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.482
|
Welche "Vorlage"? Ich verstehe überhaupt nicht, was du eigentlich machen willst. Hilfreich ist immer eine Codepassage, kann auch eine Programmablaufplan sein, heißt, dass du uns helfen kannst, wenn irgendwie darstellst, was du machen willst (was z.B. wann geschehen soll bzw. das Gegenteil) und was nicht klappt. Ins Blaue geraten. Wenn du in Skript A ein Template lädst und dort einem Template etwas zuweist (mit einer entsprechenden Methode), dann ist das natürlich in Skript B weg. Hm .. Stell deine Frage bitte etwas ausführlicher. Danke. |
| |
| | Nach oben #13 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Fast richtig, ich parse den Code noch nicht, denn ich probiere ständig rum! Also - ich lade ja die komplette Klasse in der Index.php z.B. darin leg ich ja auch ein Template fest. Dieses wird dann mit open über fopen aufgerufen. Aber jetzt möchte ich das der Code in Template 2 auch auf Platzhalter überprüft wird, jedoch ohne dieses direkt mit open() zu laden Ich benutzer diese Vorlage: http://www.developers-guide.net/forums/showthread.php?t=684 Geändert von Ben (19.06.2007 um 18:23 Uhr). |
| |
| | Nach oben #14 | |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 395
| Zitat:
Aber dazu musst du es ja erst einlesen! Allerdings kannst du es ja einlesen und auf Platzhalter überprüfen, ohne es zu parsen und auszugeben. Davon hält dich ja niemand ab. Allerdings ist dies ein Fall der sicherlich nicht so in der Vorlage vorgesehen ist. Du musst diese Funktionalität eben selbst implementieren. Hoffe ich konnte dir helfen. Grüße, Johannes
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int Geändert von Ben (19.06.2007 um 18:23 Uhr). | |
| |
| | Nach oben #15 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.482
| Zitat:
Mach dir doch mal klar, wie so ein Template-System prinzipiell laufen sollte.
Das, was du da schilderst findet, zumindest in meinem Ablaufplan, überhaupt keine Verwendung! Vielleicht erklärst du wirklich mal etwas genauer Ist sicherlich auch in deinem Sinne, wenn wir verstehen, was du vorhast! Danke. Grüße, Ben. | |
| |
| | Nach oben #16 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Also - stellt euch doch mal vor. Eine richtig "aufwändige Seite" mit mehreren Designs. So - dafür brauch ich natürlich mehrere Template. Ein Template das mit dem Design simpleBlue z.B. ausgeführt wird, eins das mit simpleGrey ausgeführt wird und eins das z.B. mit simpleRed ausgeführt wird. So - das sind 3 verschiedene index.tpl Seiten, jede mit einem anderen Stylesheet für die verschiedenen Designs (logisch?) So - jetzt bringt es mir natürlich nix wenn sag ich mal z.B. nur simpleBlue geparst wird und die anderen Template Dateien nicht! Aber der User möchte natürlich nicht gleichzeitig alle drei Designs sehen sondern sich für eins entscheiden. SimpleBlue, dann soll simpleGrey und simpleRed nicht ausgegeben aber geparst werden. So - auf der simpleBlue index.tpl kann man ja dann per Dropdown Menü (Formular) z.B. mit GET ein anderes Design einfach auswählen! Jetzt verstanden???? |
| |
| | Nach oben #17 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.482
| Zitat:
Sorry, wenn ich das so deutlich sagen muss. Das ist unnötig aufgewendete Rechenleistung. Ein Template wird nur dann geparsed, wenn es auch benötigt wird. | |
| |
| | Nach oben #18 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Gut, anderes Beispiel: Es wird von einem User aufgerufen, es wird aber nicht geparst! Jetzt verstanden? Ich kann im Moment nur sagen das \simpleBlue\index.tpl geparst und aufgerufen wird. So - jetzt ruft aber ein User simpleGrey auf. PHP stellt fest das diese Datei ja gar nicht in der index.php steht und öffnet diese Datei als Text so - und jetzt???? Jetzt verstanden??????????ß |
| |
| | Nach oben #19 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.482
|
Du meinst, dass User A das Template simpleBlue und User B das Template simpleRed nutzen will und du deshalb beim Aufruf der index.php beide Templates parsen willst? Deine Programmablauflogik ist falsch.
Stell dir folgende Situation vor. Du hast 242 Styles, wobei nur drei davon genutzt werden. Jetzt müsstest du bei jedem Seitenaufruf ALLE Styles parsen. Jou, das ist ein Paradebeispiel von ineffizienter Programmierung. Grüße, Ben. |
| |
| | Nach oben #20 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
So, ich bins wieder und hab ein riesen Problem, ich hab versucht das TemplateSystem erstmal nur für Sprachdateien und Standart Platzhalter zu erstellen, mit dieser kleinen If Anweisung hab ich herausgefunden das die Variable $template gar nicht übergeben wurde PHP-Code: Ich füg mal meine Index.php und meine "class.php" an. index.php: PHP-Code: PHP-Code: Dann hab ich noch eine andere Frage undzwar wieso steht in out() echo und nicht include oder require/require_once? Er soll den Text ja nicht ausgeben sondern laden! Geändert von Ben (14.09.2006 um 10:57 Uhr). Grund: Code-Tags in PHP-Tags umgewandelt |
| |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] Ein eigenes Templatesystem schreiben | ||||