Seite speichern Teil1
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ü</h2> <select name="menu" onchange="document.form.submit();"> <option value="0">-- Kein Menü --</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

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