Kontakt aufnehmen

Inhalt auslesen bei ‚Seite bearbeiten‘

Code & Blog Logo

Code & Blog Logo

Heute geht es um das lesen des Inhaltes der Content-Datei. Hier können wir kein include anwenden, da ansonsten auch PHP-Befehle ausgelesen werden. Also bauen wir als erstes eine neue Methode in die Page-Klasse. Des weiteren befüllen wir dann die Textbox auf ‚Seite Bearbeiten‘ im Admin-Bereich.

Fangen wir an mit der Methode in der Page Klasse. Diese heißt readContent und bekommt als Parameter eine Präfix für den Speicherort. Diese brauchen wir, um relativ auf den Inhalt auszulesen, weil der Pfad je nach Aufrufsdatei unterschiedlich sein kann.

Als erstes wir hier der Dateiname generiert. Danach wird die Datei geöffnet, gelesen und wieder geschlossen. Also nichts besonderes (Datei /system/classes/page.php):

...
function readContent($dirpraefix){
  $filename = $dirpraefix."content/articles/".$this->alias.".php";
  $handle = fopen ($filename, "rb");
  $contents = fread ($handle, filesize ($filename));
  fclose ($handle);
  return $contents;
}
...

Fehlt uns nur noch das Aufrufen der Methode imAdmin-Bereich. Also öffnen wir die Datei /admin/includes/site-edit.php und fügen in der Textbox den Aufruf:

<textarea name="content"><?PHP echo $page->readContent("../"); ?></textarea>

Achtung: Zwischen den Textarea und den PHP Tags dürfen werder Leerzeichen noch Zeilenumbrüche sein. Ansonsten bekommen wir diese Sachen später auch in der TextBox zu sehen.

Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.

Kommentare

Daniel Busch schrieb am 01.08.2009:

Sorry, aber du hast einen Syntaxfehler im function teil in diesem Post. statt: functionreadContent($dirpraefix){.... function readContent($dirpraefix){.... MfG Daniel

Daniel Busch schrieb am 01.08.2009:

Ich noch mal: Ich bekomme einen Fatalerror in site-edit script. Fatal error : Call to a member function readContent() on a non-object in C:xampphtdocsadminincludessite-edit.php on line 8 Finde aber den Fehler nicht. MfG Daniel

Stefan Wienströer schrieb am 01.08.2009:

Der Fehler kommt, wenn die Variable (hier wahrschein $page) kein Objekt ist. Hast du vielleicht die Sachen im letzten Beitrag nicht gemacht? Da wurde das Objekt erzeugt. Und wenn das Fehlt, wird (auch) diese Fehlermeldung kommen: http://blog.stevieswebsite.de/2009/07/datenbank-daten-bei-seite-bearbeiten-verwenden/

Daniel Busch schrieb am 02.08.2009:

Recht hattest du. Aber da ich alles doppelt und an zwei Rechnern mache war ich wohl auf diesem noch nicht soweit. Na denn wysiwyg'en wir mal ein wenig. MfG Daniel

Klaus schrieb am 10.05.2010:

Netter Artikel, aber bitte mehr auf die deutsche Rechtschreibung achten!

Sven schrieb am 16.08.2011:

Fatal error: Using $this when not in object context in C:xampphtdocscmssystemclassespage.php on line 49 Die zeile ist anscheinend fehlerhaft: $filename = $dirpraefix."../content/articles/".$this-&gt;alias.".php"; hab copy and past aber der fehler kommt immer noch..

Stefan Wienströer schrieb am 16.08.2011:

Die Funktion ist aber noch innerhalb des Class-Tags, oder?

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern