Kontakt aufnehmen

Datenbankklasse Teil 5 (CMS)

Heute gelangen wir beim selbst erstellten CMS zu der Datenbankumstellung im Seitenbereich. Diesen werden wir heute aber nur zum Teil umstellen.

Wenn man auf Seiten klickt, ihr kennt es mittlerweile, bekommt ihr wieder schöne MySQL-Fehler. Fangen wir also an mit der Datei /admin/includes/sites.php:

<?PHP
  $res = $db->ReadRows("SELECT * FROM {'dbprefix'}pages ORDER BY title LIMIT 0,30");
  if($res){
    foreach($res as $page){
      echo "<tr>
              <td>".$page->title."</td>
              <td>".$page->alias."</td>
              <td>
                <a title="Bearbeiten" 
                   href="index.php?page=site-edit&site=".$page->alias."">
                  <img src="/system/images/icons/page_edit.png" />
            </a>
                <a title="Löschen" 
               href="index.php?page=site-delete&site=".$page->alias."">
                  <img src="/system/images/icons/cross.png" />
            </a>
              </td>
            </tr>";
      }
  }
?>

Weiter geht’s mit dem Seiten erstellen. Hier gibts auf der /admin/includes/site-new.php nur eine Zeile zu ändern:

$id = Page::create($db->EscapeString($_POST['alias']));

Die Klasse (system/classes/page.php) ist schon etwas größer. Diese werden wir nun zum Teil Bearbeiten:

Funktion loadProperties:

  function loadProperties($alias){
    if ($alias == "") {
    $alias = "home";
    }
    $row = $GLOBALS['db']->ReadRow("SELECT id,title,owner,menu FROM {'dbprefix'}pages 
                           WHERE alias = '".$alias."'");
    if($row){
      $this->id = $row->id;
      $this->title = $row->title;
      $this->ownerid = $row->owner;
      $this->menu = $row->menu;
      $this->alias = $alias;
      $this->meta  = new Meta();
      $this->meta->pageid = $this->id;
      $this->meta->load();
    }
  }

Funktion Create:

  function create($alias){
    $res = $GLOBALS['db']->Execute("INSERT INTO {'dbprefix'}pages (alias) VALUES ('".$alias."')");
    if($res){
      $args['id']    = mysql_insert_id();
      $args['alias'] = $alias;
      EventManager::raiseEvent("page_created","../",$args);
    }
    return mysql_insert_id();
  }

Leider müssen wir hier noch die eingetragene Id Auslesen. Darum kümmern wir uns beim nächsten mal 😉

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

Kommentare

Daniel schrieb am 15.03.2010:

Ich muss schon sagen das die Dateien dadurch etwas kleiner werden. Schönes Ding MfG Daniel

Ü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