Navigation des Installers (CMS)
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ü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ß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.
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