0251 / 590 837 15
info@a-coding-project.de
;

Neues Menü erstellen

Code & Blog Logo

Code & Blog Logo

Die Menüs unseres CMS können wir zwar schon bearbeiten, aber das Erstellen geht bisher nur über die Datenbank. Heute werden wir das Ändern. Ich hab mir das so überlegt, dass wir auf der Menü-Erstellen Seite nur den Namen des Menüs eingeben. Wurde dieser angelegt, wird man dann zur Menü-Bearbeiten Seite geleitet, so dass man dann dort die Einträge hinzufügen kann.

Ihr erinnert euch vielleicht daran, dass die Menünamen in der Tabelle cms_menu_names stehen. Diese hat bereits eine id, jedoch ist diese nicht auto_increment. Das müssen wir nun noch ändern. Hier ist der SQL-String:

ALTER TABLE `cms_menu_names` CHANGE `id` `id` INT( 4 ) NOT NULL AUTO_INCREMENT

Kommen wir nun zur Klasse menu(Datei /system/classes/menu.php). Diese bekommt nun die Methode create. Sie fügt den Datensatz ein und gibt deren ID zurück:

  function create($name){
    global $dbpraefix;
    $res = mysql_query("INSERT INTO ".$dbpraefix."menu_names (name) VALUES ('".$name."')");
    return mysql_insert_id();
  }

Der Aufruf der Funktion geschieht in der Datei /admin/includes/menue-new.php, zu welcher wir bereits einen Link gesetzt haben.

Hier wird ein Formular angezeigt, wo man den Namen eingeben kann. Wird das Formular abgesendet, wird der Eintrag erstellt und ein neues Formular erstellt. Das neue Formular hat lediglich einen Button und versteckte Textboxen. Er leitet zur menu-edit.php weiter. Hier ist der Code:

<h1>Neues Men&uuml;</h1>
<?PHP
  if(!$_POST['name']){
?>
  <form action="/admin/index.php?page=menue-new" method="POST">
    Name: <input name="name"><br />

    <input type="submit" value="Erstellen" />
  </form>
<?PHP
  }
  else{
   $id = Menu::create(mysql_real_escape_string($_POST['name']));
   if($id){
     ?>
       <p>Das Men&uuml; wurde erfolgreich erstellt.</p>
       <form action="/admin/index.php" method="GET">
         <input name="page" value="menu-edit" type="hidden" />
         <input name="menu" value="<?PHP echo $id; ?>" type="hidden" />
         <input type="submit" value="Eintrage hinzufügen" />
       </form>
     <?PHp
   }
   else{
     echo "<p>Das Men&uuml; konnte leider nicht erstellt werden.</p>";
   }
  }
?>