Nicht immer alles wiederholen / Design

Tab

unlimited
ID: 374854
L
26 Juni 2007
900
71
Hallo ihr lieben,

ich will eine Seite erstellen wo sehr viel PHP drin vorkommen wird. Nun ist es aber blöde, wenn ich z.B. 5 Seiten machen will, dass in jeder headerbeich alles drinne ist. Denn möchte ich am Grundgerüst was ändern, dann muss ich ja alles 5 Dateien ändern, geht das irgendwie einfacher? Habe schonmal was von Templates gehört, finde da acuh Tutorials zu die dann 10 Seiten lang sind und wo man nichts kappiert. Liebe Grüße
Makus
 
Ist das layout auf allen seiten gleich?
wenn ja dann hab ich da was für dich:
in eine datei z.B. variabeln.php
die in die index seite includet wird
schreibt man alle seiten in arrays so:

PHP:
$dateien = array();
$dateien['seite1'] = "seite1.php";
//und so weiter ...
PHP:
    // das ist das script zum includen der dateien
    if(isset($_GET['section']) AND isset($dateien[$_GET['section']])) {
        include $dateien[$_GET['section']];
    } else {
        include $dateien['home'];// auf die seite kommt man wen $_GET['section'] nicht gegeben ist oder die seite nicht im array dateien steht
    }

ich hoffe ich konnte dir helfen ich habs auch so: Meine Seite
Mfg. Marcel
 
Zuletzt bearbeitet:
Vielen dank für die schnelle Antwort.

Nun frage ich mich aber wo was reingehört, in welche Datei gehört das Erste in welche das Zweite?

Habe den Code soweit verstanden bis auf:

Gut er fragt nach dem Get und nimmt dann wenn als get-Wert Impresumm ist die impressum.php, aber in den Links werden doch nirgends getWerte verteilt oder muss ich die einfach bei der Navigation anhängen?

Hmm, aber aber eig. müsste man jetzt die Datei doch in header.php footer.php teilen oder nicht? Liebe Grüße Markus
 
die links werden dann so gebildet:
PHP:
echo "<a href='index.php?section=impressum'>Impressum</a>";
Das erste hab ich in der variabel.php und wird in die index.php includet.
Das script zum includen hab ich in der index.php an der stelle wo die datei includet werden soll.
 
Die komische, unsichere include-Variante aus Post #2 vergisst du bitte mal schnell wieder :pray:
Habe schonmal was von Templates gehört, [...]
Richtig :D

Guck dir Smarty an. Statt 10 Seiten Tutorial ziehst du dir da den Crashcourse rein. Danach solltest du eigentlich schon loslegen können.
 
blick ich noch nicht so durch deshalb hab ich es erstmal so gemacht bis ich mich besser mit php auskenne ich mach das ganze erst seit september und durch die schule bleibt nicht mehr viel zeit php zu lernen (leider).
 
Ja, Templates würde mich persöhnlich auch sehr interessieren. So nun habe ich Smarty (die neuste Version). Aber du meinst ja was von wegen Crashkurs, von den ganzen Dateien verstehe ich nur Bahnhof. Gut hatte irgendwo mal mitbekommen das eigentlich nur der Ordner libs wichtig ist.

Habe mich versucht da reinzuarbeiten, aber verstehe das nicht so ganz. Vllt. nur eine kurzanleitung?

Liebe Grüße und vielen Dank TheHacker,
Markus
 
Super habs mir mal durchgeguckt, hab auch verstanden mit den {..}. NUn weiß ich aber noch nicht genau wie das jett läuft. Denn nun habe ich eine index.tpl, toll, aber die geht dann ja auch nur für die index/Startseite oder nicht? Wie läuft das denn dann mit der Navigation?

Außerdem sieht jede Seite ja vom Script anders aus wie mache ich das denn?

Liebe Grüße und vielen dank,
Markus
 
Aber du meinst ja was von wegen Crashkurs, von den ganzen Dateien verstehe ich nur Bahnhof.
Klingt mir so, als ob du den Crashcourse nicht gefunden hast.
Hier der Link: https://smarty.php.net/crashcourse.php
Denn nun habe ich eine index.tpl, toll, aber die geht dann ja auch nur für die index/Startseite oder nicht? Wie läuft das denn dann mit der Navigation?
Wenn du den Crashcourse durch hast, hast du eine Variante gesehen. Dabei hast du für jede Unterseite ein Template, was Header und Footer aus einem anderen Template einbindet.
Das ist diese Variante, die ich nicht empfehle. Hat den Grund, dass so zusammengehörige Tags in verschiedene Dateien verstreut sind. Das führt zu Unübersichtlichkeit und diese zu Fehlern.

Besser - imho - wenn du ein Haupttemplate anlegst (welches Meta-Tags, Titel, Header, Footer, Navigation, etc. beinhaltet) und darin dann an der entsprechenden Stelle das Template der Unterseite einfügst.
 
Super habs mir mal durchgeguckt, hab auch verstanden mit den {..}. NUn weiß ich aber noch nicht genau wie das jett läuft. Denn nun habe ich eine index.tpl, toll, aber die geht dann ja auch nur für die index/Startseite oder nicht? Wie läuft das denn dann mit der Navigation?

Außerdem sieht jede Seite ja vom Script anders aus wie mache ich das denn?

Liebe Grüße und vielen dank,
Markus

ich glaube auch das die include variante mit withelist besser geeignet wäre. kommt ja auch drauf an was de vor hast. is es ein großes projekt?
 
Besser - imho - wenn du ein Haupttemplate anlegst (welches Meta-Tags, Titel, Header, Footer, Navigation, etc. beinhaltet) und darin dann an der entsprechenden Stelle das Template der Unterseite einfügst.
Diese Variante steht da im Crashcours? Also habe ich dann ein Template mit dem Gerüst und eine Datei nur mit den PhpCodes dann?

Liebe Grüße
Markus

Sorry wegen dem Doppelpost muss aber eben meine letzte Frage loswerden.

Ok, den Crashcours habe ich durch, auch verstanden! Aber nun meine Frage:
Also teile ich meine Seite jetzt in Header.tpl footer.tpl und index.tpl? Und wie packe ich die dann in eine Seite, per include?

Vielen dank für die nette Hilfe.
Markus
 
Zuletzt bearbeitet von einem Moderator:
Diese Variante steht da im Crashcours?
Ne, die andere steht da.
Is eigentlich Geschmackssache, aber ich finde meine Variante aus o.g. Gründen besser.
Sorry wegen dem Doppelpost muss aber eben meine letzte Frage loswerden.
Edit genügt, solange noch niemand geantwortet hat ;)
Also teile ich meine Seite jetzt in Header.tpl footer.tpl und index.tpl?
Im folgenden angenommen, du willst wie im Crashcourse vorgehen:
Du legst dir Template header.tpl und footer.tpl an.
Für jede Unterseite legst du dir dann unterseite.tpl an, was in etwa wie die index.tpl im Crashcourse aussieht. Wichtig is halt, dass header.tpl und footer.tpl von Smarty eingebunden werden.
Und wie packe ich die dann in eine Seite, per include?
Nene, nix include. Das macht die Template-Engine.
Sieh dir im Crashcourse den ersten PHP-Code an.
 
include('Smarty.class.php');

// create object
$smarty = new Smarty;

// assign some content. This would typically come from
// a database or other source, but we'll use static
// values for the purpose of this example.
$smarty->assign('name', 'george smith');
$smarty->assign('address', '45th & Harris');

// display it
$smarty->display('index.tpl');

Aber jetzt mal rein zum Verständnis. Ich habe dann ja eine header.tpl, eine footer.tpl und eine Seite.tpl. In der seite.tpl, kommt dann der Textinhalt rein. Irgendwie muss dann ja wenn man das im Brwoser aufruft der header und footer in die seite.tpl kommen oder nicht?

Vielen dank,
Markus
 
In der seite.tpl, kommt dann der Textinhalt rein. Irgendwie muss dann ja wenn man das im Brwoser aufruft der header und footer in die seite.tpl kommen oder nicht?
Das macht Smarty alles, sobald du die Zeile
PHP:
$smarty->display("seite.tpl");
ausführst.

Im Template seite.tpl wird Smarty mittels
Code:
[FONT=Courier New][B][COLOR=Red]{include file="header.tpl" title="User Info"}[/COLOR][/B]

User Information:<p>

Name: [/FONT]  [FONT=Courier New][COLOR=blue]{$name|capitalize}[/COLOR][/FONT][FONT=Courier New]<br>
Address: [/FONT][FONT=Courier New][COLOR=blue]{$address|escape}[/COLOR][/FONT][FONT=Courier New]<br>

[B][COLOR=Red]{include file="footer.tpl"}[/COLOR][/B][/FONT]
angewiesen, Header und Footer zu parsen und dort einzufügen.