zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Simples "CMS", wie?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 21.08.2006, 14:17
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard Simples "CMS", wie?

Hallo,

ich bin gerade dabei eine neue Homepage zu basteln. Jetzt versuch ich natürlich die Seite möglichst flexibel zu halten sodass ich auch nachträglich leicht das LayOut ändern oder neue Seiten hinzufügen kann. Ihr könnt euch ja bestimmt vorstellen das es kein Spaß macht bei zig html-Dateien das Menü o.ä. zu ändern

Deshalb meine Idee: Nur eine index.php in der alles statische drin steht und dann einfach per include die unterschiedlichen Unterseiten reinholen. Zu diesem Zweck habe ich einen extra Ordner mit den Inhalten. In den Dateien sind dann drei Variablen gespeichert, der Titel der Seite ($titel), der Inhalt an sich ($inhalt) und ein extra Stylesheet ($css). Diese Dateien werden dann in die index.php reingeholt und dann eben die Variablen dort ausgegeben wo sie hinmüssen. Das ganze funktioniert auch schon einigermassen, aber sobald ich php-Code includen will gibts Probleme. Ist ja auch klar weil dann die Variable $inhalt eben "<?php blabla ?> steht.
Jetzt meine Frage: Wie kann ich das Problem lösen? Oder gibt es andere Möglichkeiten die zum gleichen Ziel führen? Ich muss zugeben das ich mich in Sachen PHP nicht allzu gut auskenne und das programmieren lieber anderen überlasse. Ich habe deswegen auch schon ein CMS ausprobiert (WordPress und Textpattern), aber ein CMS ist einfach überdimensioniert für diese kleine Homepage. Außerdem würde es mehr Arbeit machen bis ich das CMS so weit angepasst hab das ich zufrieden bin...

Ich hoffe ihr könnt mir etwas helfen Schonmal Danke im vorraus.

MFG Max
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 21.08.2006, 14:35
Benutzerbild von Siegfried
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 11.08.2006
Beiträge: 465
Siegfried befindet sich auf einem aufstrebenden Ast
Standard

Hi,
die ganz simple uralte und klassische Methode ist: Bastle Dir ein html-Template. Bei der Erstellung einer neuen Seite kopierst Du dann das Template und ergänzt einfach mit den neuen Inhalten.

Etwas vornehmer: Erstelle ein Template in xml und die Seiten ebenfalls in xml. Benutze dann ein xsl-Stylesheet, das beide zusammenführt und (x)html-Seiten generiert. Vorteil: Bei einer Änderung des Templates einfach den xsl-Prozessor nochmal für alle Dateien aufrufen, und gut is.

Eine Variante davon (so mache ich das): Ich erstelle meine Quelldateien in xml. Die Navigation findet sich dann in Form einfacher link-Elemente im Kopf der Datei. Das Aufdröseln in Breadcrumb-Navigation, Hauptnavigation und foter-badgets sowie die Einbettung der Links in die richtigen Container und Listen lasse ich dann durch ein xsl-Stylesheet machen. Die visuelle Gestaltung übernimmt dann sowieso ein css Stylesheet.


Ach ja, ich verwende als xsl-Prozessor xalan.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 21.08.2006, 14:43
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard

Danke für deine rasche Antwort
Zitat:
Zitat von Siegfried
die ganz simple uralte und klassische Methode ist: Bastle Dir ein html-Template. Bei der Erstellung einer neuen Seite kopierst Du dann das Template und ergänzt einfach mit den neuen Inhalten.
Problem ist halt: Ich muss dann bei jeder Datei einen Menüpunkt bei der Navigation dazueditieren. Und das ist halt ziemlich zeitraubend... Oder hab ich dich nur falsch verstanden?
Zitat:
Zitat von Siegfried
Etwas vornehmer: Erstelle ein Template in xml und die Seiten ebenfalls in xml. Benutze dann ein xsl-Stylesheet, das beide zusammenführt und (x)html-Seiten generiert. Vorteil: Bei einer Änderung des Templates einfach den xsl-Prozessor nochmal für alle Dateien aufrufen, und gut is.

Eine Variante davon (so mache ich das): Ich erstelle meine Quelldateien in xml. Die Navigation findet sich dann in Form einfacher link-Elemente im Kopf der Datei. Das Aufdröseln in Breadcrumb-Navigation, Hauptnavigation und foter-badgets sowie die Einbettung der Links in die richtigen Container und Listen lasse ich dann durch ein xsl-Stylesheet machen. Die visuelle Gestaltung übernimmt dann sowieso ein css Stylesheet.
Ehrlich gesagt versteh ich kein Wort Ich bin halt noch ein Anfänger wenns darum geht...

Aber ich hab mir überlegt ob ich nicht einfach mehrere php-Dateien erstell in dene der Inhalt schon drin steht und die statischen Dinge wie Menü, Header und Footer einfach per include reinhol. Wäre eventl. auch für die Suchmaschinen besser da jede Unterseite eine eigene Datei hat?! Aber ansich wäre es ja egal ob der Inhalt oder der Rest inkludiert wird.

MFG Max
Mit Zitat antworten
  #4 (permalink)  
Alt 21.08.2006, 15:24
Benutzerbild von Siegfried
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 11.08.2006
Beiträge: 465
Siegfried befindet sich auf einem aufstrebenden Ast
Standard

Hi,

eventuell helfen Dir auch "Server side includes" weiter
Mit Zitat antworten
  #5 (permalink)  
Alt 21.08.2006, 15:52
Neuer Benutzer
neuer user
 
Registriert seit: 26.06.2006
Beiträge: 2
AStuhrmann befindet sich auf einem aufstrebenden Ast
Standard CMSimple

Hallo,

vielleicht ist ja cmsimple 2.5 die Lösung?

Informationen zu diesem auf PHP-basierenden Paket finden sich unter http://www.cmsimple.dk/
Mit Zitat antworten
  #6 (permalink)  
Alt 21.08.2006, 19:21
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von Siegfried
eventuell helfen Dir auch "Server side includes" weiter
Hab mal bissl gegooglet. Wenn ich es schaff das SSI und PHP gleichzeitig funktionieren dann könnte es klappen. Ich werd damit mal etwas experimentieren
Zitat:
Zitat von AStuhrmann
Hallo,

vielleicht ist ja cmsimple 2.5 die Lösung?

Informationen zu diesem auf PHP-basierenden Paket finden sich unter http://www.cmsimple.dk/
Schaut nicht schlecht aus, ich glaub das schau ich mir mal genauer an. Wenns nen CMS wird dann sowas Danke für den Hinweis.

MFG Max
Mit Zitat antworten
  #7 (permalink)  
Alt 21.08.2006, 22:50
</>
neuer user
 
Registriert seit: 21.02.2005
Beiträge: 55
creisi befindet sich auf einem aufstrebenden Ast
Standard

Hallo Max

Zitat:
Zitat von Maxefix
Hab mal bissl gegooglet. Wenn ich es schaff das SSI und PHP gleichzeitig funktionieren dann könnte es klappen. Ich werd damit mal etwas experimentieren
Nein, das wird nicht gleichzeitig funktionieren. Braucht es aber auch nicht. Alles, was Du mit SSI machen kannst, kannst Du mit php auch machen und noch mehr.

Zitat:
Zitat von Maxefix
weil dann die Variable $inhalt eben "<?php blabla ?> steht.
Das müsste dann so aussehen:
Code:
$inhalt = '<p>Dein Inhalt</p>';
Also das, was dann ausgegeben werden müsste.

Und in der Datei, die includet, müsste das so aussehen:
Code:
require_once 'datei_mit_inhalt.php';
echo $inhalt;
Gruss
creisi
__________________
creisi - Internet funktioniert
Mit Zitat antworten
  #8 (permalink)  
Alt 21.08.2006, 23:20
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von creisi
Das müsste dann so aussehen:
Code:
$inhalt = '<p>Dein Inhalt</p>';
Also das, was dann ausgegeben werden müsste.

Und in der Datei, die includet, müsste das so aussehen:
Code:
require_once 'datei_mit_inhalt.php';
echo $inhalt;
Aber was wenn ich im Inhalt PHP nutzen möchte? Beispielsweise mein Kontaktskript:
Code:
<h3>Kontakt:</h3>

<?php

// *** Deine Mailadresse (Empfänger) *** 
$mail_to="info@karlheinz-w.de"; 
// ************************************* 

$from_name=$_POST['fromname']; 
$from_mail=strtolower($_POST['frommail']); 
$mail_subject=$_POST['mailsubject']; 
$mail_text=$_POST['mailtext']; 
$send=$_POST['s']; 

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br />"; 
if(trim($from_mail)=="") 
  $err_text.="Bitte gib Deine E-Mail-Adresse an.<br />"; 
else 
  if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail)) 
    $err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br />"; 
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br />"; 
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br />"; 

// *** Zu langen Text abschneiden *** 
if(strlen($mail_text)>1000) { 
  $mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)"; 
} 
$from_name=str_replace(chr(34),"''",$from_name); 
$mail_subject=str_replace(chr(34),"''",$mail_subject); 
$from_name=stripslashes($from_name); 
$from_mail=stripslashes($from_mail); 
$mail_subject=stripslashes($mail_subject); 
$mail_text=stripslashes($mail_text); 

if(($send=="1") && (isset($err_text))) { 
  echo "<p><b>Fehler:</b><br />"; 
  echo "$err_text</p>"; 
} 

if(($send!="1") || (isset($err_text))) 
{ 
?> 

<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<p>Name:<br /> 
<input type="text" name="fromname" size="50" maxlength="120" value="<?php echo $from_name; ?>" /><br /> 
eMail Adresse:<br />
<input type="text" name="frommail" size="50" maxlength="120" value="<?php echo $from_mail; ?>" /><br /> 
Betreff:<br /> 
<input type="text" name="mailsubject" size="50" maxlength="120" value="<?php echo $mail_subject; ?>" /><br /> 
Nachricht:<br />
<textarea cols="40" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea>
<input type="hidden" value="1" name="s" /><br />
<input type="submit" value="Abschicken" name="submit" /> <input type="reset" value="Zurücksetzen" name="reset" /></p>
</form>

<?php 
} else { 
  $header="From: $from_name <$from_mail>\n"; 
  $header.="Reply-To: $from_mail\n"; 
  $header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n"; 
  $header.="Content-Type: text/plain"; 
  $mail_date=gmdate("D, d M Y H:i:s")." GMT"; 
  $send=0; 
  if(@mail($mail_to,$mail_subject,$mail_text,$header)) 
  { 
    echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>"; 
    echo "<p><a href=".$_SERVER['PHP_SELF'].">Zurück zum Formular</a></p>"; 
  }else{ 
    echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>"; 
    echo "<p><a href=".$_SERVER['PHP_SELF']."\">Zurück zum Formular</a></p>"; 
  } 
} 
?>
Das alles sollte eben in eine Variable, aber das klappt natürlich nicht.

MFG Max
Mit Zitat antworten
  #9 (permalink)  
Alt 21.08.2006, 23:56
</>
neuer user
 
Registriert seit: 21.02.2005
Beiträge: 55
creisi befindet sich auf einem aufstrebenden Ast
Standard

Nein, das klappt nicht mit Variablen und echo. Da musst Du dann das Kontakt-Script als php-Datei speichern und an der Stelle, an der es ausgegeben werden sollen, includen mit

Code:
include_once 'kontakt.php';
Gruss
creisi
__________________
creisi - Internet funktioniert
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 22.08.2006, 01:01
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard

Naja, ich hab das Problem gelöst indem ichs andersrum gemacht habe: Zum Inhalt werden einfach die statischen Dinge wie Menü etc. dazu inkludiert. So geht alles problemlos.

Aufjedenfall mal Danke für eure Hilfe

MFG Max
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Simples CMS für eine Gallery gesucht Kipperdesign Ressourcen 1 03.10.2012 16:52
Etwas ganz simples _42 Site- und Layoutcheck 3 09.08.2007 16:20
Simples Layout! BigBuddha CSS 2 05.03.2007 14:44
Simples Anfänger-Problem bzgl Klassen-Selektor dime CSS 8 19.08.2006 22:06
Layout-Problem (ich glaub was simples :-S) mgn84 CSS 18 09.09.2005 00:14


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:09 Uhr.