Kontakt aufnehmen

Seite speichern Teil1

Code & Blog Logo

Code & Blog Logo

Man kann die Seite unseres CMS bereits bearbeiten, aber was bringt das bearbeiten, wenn wir nicht speichern können? Darum geht es heute. Heute werden das Menü, der Titel und der(oder das??) Alias gespeichert. Im nächsten Teil wird dann auch der Inhalt gespeichert.

Zu erst muss aber noch ein kleiner Bug behoben werden, der mir noch aufgefallen ist. Wenn kein Menü ausgewählt ist, wir auf Seite Bearbeiten immer das erste Menü angezeigt und dieses würde dann auch beim Seite speichern genommen werden. Also fügen wir mal schnell noch einen Eintrag der Liste hinzu(Datei /admin/includes/site-edit.php):

<h2>Seitenmen&uuml;</h2>
    <select name="menu" onchange="document.form.submit();">
      <option value="0">-- Kein Men&uuml; --</option>
      <?PHP

Nun müssen wir auch noch herausfinden, ob das Formular über die Combobox, oder den Submit-Button abgeschickt wurde. Dafür müssen wir einfach den Submit-Button einen Namen geben:

<div style="clear:both;">
  <input name="save" type="submit" value="Ändern" />
</div>

Beim Speichern wollen wir natürlich schön objektorientiert bleiben. Deswegen weisen wir den $page-Objekt einfach die neuen Daten zu. Danach wird in der save-Methode, welche wir gleich erstellen, der neue Inhalt in die Datenbank gespeichert. Hier erstmal das zuweisen der /admin/includes/site-edit.php:

<?PHP
  $page = new Page();
  $page->loadProperties(mysql_real_escape_string($_GET['site']));
  if($_POST['save']){
    $page->title = mysql_real_escape_string($_POST['title']);
    $page->alias = mysql_real_escape_string($_POST['alias']);
    $page->menu = mysql_real_escape_string($_POST['menu']);
    $page->save();
  }
?>

Da sich auch der alias ändern kann, an welchem aber die Seite erkannt wird, müssen wir statt dem $_GET[’site‘] im Formular direkt den alias aus dem $page-Objekt übernehmen:

...h1>Seite bearbeiten</h1>
<form name="form" action="/admin/index.php?page=site-edit&site=<?PHP echo $page->alias; ?>" 
      method="post">
  <div style="float:left;width:50%;">

Dann sind wir auch in der site-edit.php für heute fertig. Nun geht’s zur Klasse Page (‚/system/classes/page.php‚). Diese bekommt die neue Methode save:

<?php
function save(){
  global $dbpraefix;
  return mysql_query("UPDATE ".$dbpraefix."pages SET 
                                        title = '".$this->title."',
                                        alias = '".$this->alias."',
                                        menu = '".$this->menu."' 
                      WHERE id = '".$this->id."'");
}
...

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

Ü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