Kontakt aufnehmen

Installer Formulare befüllen (CMS)

Code & Blog

Code & Blog Logo

Im Installer des CMS-Tutorials werden beim zurücknavigieren derzeit die Formulare nicht wiederbefüllt. Das wird sich heute ändern. Ich habe mir eine Technik ausgedacht, mit welcher es möglich ist.

Und zwar werden im Inhalt der einzelnen Installer Schritte Variablen gesetzt. Diese werden dann in der Methode getContent der Installer Klasse mit den Parametern gefüllt. Standard-Werte müssen zu Beginn angegeben werden.

Da wir derzeit nur einen Schritt mit Formular haben fangen wir direkt damit an. Die Methode addDbSettings bekommt nun für jedes Formular-Element eine Variable zugewiesen. Unten werden dann die Standard-Werte gesetzt:

private function addDbSettings(){
      $step['headline'] = 'Datenbank Einstellungen';
      $step['content']  = '
<table>
  <tr>
    <td>Host:</td>
    <td><input name="host" value="{host}" /></td>
  </tr>
  <tr>
    <td>Datenbank:</td>
    <td><input name="database" value="{database}" /></td>
  </tr>
  <tr>
    <td>Benutzer:</td>
    <td><input name="user" value="{user}" /></td>
  </tr>
  <tr>
    <td>Passwort:</td>
    <td><input name="password" type="password" value="{password}" /></td>
  </tr>
  <tr>
    <td>Tabellen Präfix:</td>
    <td><input name="praefix" value="{praefix}" /></td>
  </tr>
</table>';
      $this->params[3]['host']     = 'localhost';
      $this->params[3]['database'] = '';
      $this->params[3]['user']     = '';
      $this->params[3]['password'] = '';
      $this->params[3]['praefix']  = 'cl_';
      $this->steps[] = $step;
    }

Die Standard-Werte müssen übrigens immer gesetzt sein, auch wenn sie leer sind. Denn ansonsten steht dort der Name der Variable.

In der Funktion getContent müssen diese Parameter nun ausgelesen und im Html gesetzt werden. Das geht so:

    public function getContent(){
      $res =  $this->steps[$this->step-1]['content'];
      if($this->params[$this->step-1]){
        foreach($this->params[$this->step-1] as $name=>$value){
          $res = str_replace("{".$name."}",$value,$res);
        }
      }
      return $res;
    }

Für den Installer müssen wir als nächstes den Schritt Website-Einstellungen anlegen und danach die Installation abschließen. Danach kommt dann auch schon der große (interne) Alpha-Test. Die Fehler die dort auftreten werden alle bei Codeplexeingestellt und vor der Beta behoben. Mit der Beta-Version geht dann vielleicht auch die offizielle ContentLion Website online.

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