CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
21.10.2004, 22:37:12
|
Anfänger
|
|
Registriert seit: Oct 2004
Beiträge: 4
|
|
Templates in Datenbank
Hi
Ich möchte meine Page mit Templates machen. Der ganze HTML-Code liegt in der MySQL-Datenbank. Wenn nun der HTML-Code aus der DB ausgelesen und in die eigentliche Seite integriert wird, hab ich ein Problem.
Alles was HTML ist funktioniert einwandfrei, jedoch hab ich im HTML-Code Arrays eingebaut, die nachdem der Code in die Page transferiert wurde, den Text aus der DB holen sollten. Und genau das funzt net. Aber ne Page ohne Text ist doch doof, darum brauch ich HILFE! :)
-- index.php
Code:
$template = '$row_templates[head]';
eval ("$template = "$template";");
echo $template;
Damit wird das Template aus der Datenbank ausgelesen.
-- Template in Datenbank
Code:
<html>
<head>
<title>$row_sprache[title]</title>
</head>
<body>
<table>
<tr>
<td>
$row_sprache[text1]
</td>
</tr>
</table>
</body>
</html>
Der HTML-Code wird dabei wie gesagt korrekt in die index.php eingefügt, jedoch werden die ganzen $row_sprache[bla] nicht ausgeführt.
Weiss jemand rat, was ich machen muss, damit der ganze Text auch noch ausgelesen wird?
__________________
Greets Burgi
|
21.10.2004, 23:29:13
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
willkommen im forum!
in der tat. professionelle hilfe.
der sinn hinter templates ist, programmierlogik und layout zu trennen. desweitern wird der inhalt vornehmerweise in einer db gespeichert.
das layout steht in html/css- dateien.
der inhalt dagegen in einer datenbank.
die templates enthalten kein _fitzelchen_ php.
der inhalt kein _fitzelchen_ html.
|
22.10.2004, 06:29:38
|
Anfänger
|
|
Registriert seit: Oct 2004
Beiträge: 4
|
|
Jupp, wozu die Templates gut sind weiss ich auch, deshalb will ich se ja auch anwenden.
Ich möcht aber den HTML-CODE in der DB haben, den ganzen Text und die CSS ebenfalls.
Ich hab bei mir drei tabellen angelegt, die eine ist temlates, die andere style, und die dritte sprache.
Nun muss zuerst der ganze HTML-Code aus templates augelesen werden (klappt bereits). Dann soll da in dem HTML-Code aber auch noch Text drin stehen, der eben auch noch aus der DB abgerufen werden soll. Die CSS, kämen dann eben noch dazu, aber zuerst muss das ganze mit Text funktionieren, bevor ich meine ganzen CSS_Codes in die DB eintrage.
Ist das den nicht realisierbar? Ich hab eben bei meinem WBB-Board gesehen, dass die das auch irgendwie hingekriegt haben, also sollt ich das ja auch können! :)
__________________
Greets Burgi
|
22.10.2004, 08:25:09
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
Zitat:
Jupp, wozu die Templates gut sind weiss ich auch, deshalb will ich se ja auch anwenden.
|
warum steht dann das html nicht in html-dateien?
warum steht dann php in deinem html?
ach:
PHP-Code:
$template = '$row_templates[head]';
schon mal überlegt, dass es eigentlich so aussehen muss:
"$row_templates[ 'head' ]"; und du die " auch einfach weglassen könntest, also
PHP-Code:
$template = $row_templates[ 'head' ];
?
|
22.10.2004, 16:47:57
|
Anfänger
|
|
Registriert seit: Oct 2004
Beiträge: 4
|
|
Zitat:
Original geschrieben von feuervogel
warum steht dann das html nicht in html-dateien?
|
Spielt es eine Rolle ob der HTML-Code in einer *.html-Datei steht oder ob er nun in der DB ist? Ich denke nicht, denn importieren kann ich den so oder so, und um ihn nacher über das Admin-Panel zu bearbeiten ist es leichter wenn er in der DB steht.
Zitat:
Original geschrieben von feuervogel
warum steht dann php in deinem html?
|
Weil ich gedacht (oder es zumindest so verstanden) habe, dass das mit der eval() funktionieren sollte.
Zitat:
Original geschrieben von feuervogel
ach:
PHP-Code:
$template = '$row_templates[head]';
schon mal überlegt, dass es eigentlich so aussehen muss:
"$row_templates[ 'head' ]"; und du die " auch einfach weglassen könntest, also
PHP-Code:
$template = $row_templates[ 'head' ];
?
|
Jupp, da hast du natürlich recht. Aber die Abfrage welche im HTML-Code steht wird trotzdem nicht ausgelesen.
Auf die ganze Idee mit den Templates bin ich gekommen, als ich mir mal das Woltlab-Board etwas genauer angeschaut hab. Komischerweise haben die dort auch PHP im HTML-Code, oder täusche ich mich da? Also müsste mein Wunsch doch irgendwie realisierbar sein??
__________________
Greets Burgi
|
22.10.2004, 20:24:40
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
Zitat:
Original geschrieben von Burgi1986
Spielt es eine Rolle ob der HTML-Code in einer *.html-Datei steht oder ob er nun in der DB ist?
|
Ja, weil es einen DB Request mehr kostet.
|
22.10.2004, 21:57:52
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
> Weil ich gedacht (oder es zumindest so verstanden) habe, dass das mit der eval() funktionieren sollte.
es geht nicht ums "funktionieren" oder wie es sonst wo steht. der sinn hinter templates ist, layout und programmierung zu trennen. demnach hat php im html nichts zu suchen.
ich programmiere nun schon 2 jahre mit php die verschiedensten dinge, ich habe noch nie das bedürfnis gehabt, eval() zu benutzen.
schau dir mal eine gescheite template-engine an, wie z.b. smarty
|
22.10.2004, 22:53:33
|
Anfänger
|
|
Registriert seit: Oct 2004
Ort: FFM
Beiträge: 4
|
|
Guten Abend,
ich muss hier auch mal meinen Kommentar ablassen:
Smarty ist zwar mit Abstand die beste Template-Engine, verleiht aber gerade Anänger oft dazu, weiterhin die ein oder anderen Logik-Elemente in die Templates einzubauen. Ich denke da gerade an die schönen IF-Klauseln. ;)
Für den Anfang ist da wohl eine einfachere Engine wie KTemplate besser. Wenn das Prinzip und die Handhabung klar ist, kann immernoch auf ein besseres System umgestiegen werden.
|
23.10.2004, 18:37:17
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
Zitat:
Original geschrieben von Quad
Für den Anfang ist da wohl eine einfachere Engine wie KTemplate besser. Wenn das Prinzip und die Handhabung klar ist, kann immernoch auf ein besseres System umgestiegen werden.
|
Wenn man KTemplate verstanden hat, steigt man nicht mehr um.
Ich verwende diese Klasse schon seit einiger Zeit.
|
23.10.2004, 20:13:02
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
Zitat:
Smarty ist zwar mit Abstand die beste Template-Engine, verleiht aber gerade Anänger oft dazu, weiterhin die ein oder anderen Logik-Elemente in die Templates einzubauen. Ich denke da gerade an die schönen IF-Klauseln. ;)
|
öhm, es ist klar, dass die layout-logik nicht ins php und die programmier-logik nicht ins template gehört. wenn ein bestimmter zustand eintritt und es bei werta ein grüner button und bei wertb ein roter sein soll, liefer das php den wert des zustandes und im template wird entschieden, wie das ausgewertet wird.
ich benutze smarty nun schon recht lange und ausgiebig und es kommen ne menge if-abfragen in meinen templates vor.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:15:03 Uhr.
|