0251 / 590 837 15
;

Navigation des Installers (CMS)

Code & Blog Logo

Im Installer der neuen CMS ContentLiongibt es bereits die Buttons zum Navigieren. Sie lösenaber derzeit noch keine Aktion aus. Genau darum werden wir uns heute kümmern. Zusätzlich wird bereits der erste Ansatz der Validierung erstellt.

Fangen wir an mit der Klasse installer/installer.php. Sie bekommt zum einen die Eigenschaft paramsund zum anderen die Funktion validateCurrentStep. In der Eigenschaft params werden die Parameter aller Schritte gespeichert. So kann beim Abschluss der Installation darauf zugegriffen werden.

Die Funktion validateCurrentStep liefert derzeit einfach nur true zurück:

public $params   =null;

und

public function validateCurrentStep(){
      return true;
    }

Kommen wir zur Datei /install.php. Dieses braucht um die Buttons noch ein Form-Element, was zur gleichen Seite leitet. Das sieht dann so aus:

    <form action="/install.php" method="POST">
      <?PHP
        echo $_SESSION['installer']->getContent();
      ?>
      <div id="navigation">
        <?PHP
          if($_SESSION['installer']->showBackButton()){
        ?>
        <input id="btnBack" type="submit" name="back" value="Zur&uuml;ck" />
        <?PHP
          }
          if($_SESSION['installer']->showNextButton()){
        ?>
        <input id="btnNext" type="submit" name="next" value="Weiter" />
        <?PHP
          }
          if($_SESSION['installer']->showFinishButton()){
        ?>
        <input id="btnFinish" type="submit" name="finish" value="Abschlie&szlig;en" />
        <?PHP
          }
        ?>
      </div>
    </form>

Nun müssen wir oben jetzt dementsprechend den Schritt passend setzten:

<?PHP
  include('installer/installer.php');
  session_start();
  if(!isset($_SESSION['installer'])){
    $_SESSION['installer'] = new Installer();
  }
  if($_SESSION['installer']->validateCurrentStep()){
    if($_POST['next'] or $_POST['finish']){
      $_SESSION['installer']->params[$_SESSION['installer']->step-1] = $_POST;
      $_SESSION['installer']->step++;
    }
    if($_POST['back']){
      $_SESSION['installer']->step--;
    }
  }
?>

Das wars auch schon für heute. Ich denke mit der Basis des Installers sind wir schon gut unterwegs. Wir können uns nun dem Installationsprozess des CMS an sich zuwenden.