Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Fortgeschrittenes PHP  Templates  Cache-Technologien  OOH Forms  Grundlagen  JavaScript  XML  Layoutmanager  Pages  Wizards  API  API Test  Wizard erzeugen  Handler definieren  Page-Events  Fazit  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
Sprich zu mir
Wizards reagieren nur auf Buttons mit einem bestimmten Namen.
Wird eine Seite geladen, die ein Formular enthält und dieses Formular abgesendet,
so wird als nächstes die gleiche Seite angezeigt. Der Wizard
hat keinen Button für die erlaubten Events (enableButton()/disableButton())
gefunden und zeigt die zuletzt angezeigte Seite erneut.
Wenn durch das Formular einer Seite der Wizard verändert werden soll,
so muß ein Kommunikationskanal zwischen dem Wizard-Objekt und dem Page-Objekt
geschaffen werden. Nur das Page-Objekt kann die Ergebnisse der
Formularübermittlung bestimmen. Diese Ergebnisse sind dem Wizard-Objekt mitzuteilen,
damit sich dieses verändern kann.
Der Order-Wizard verwendet hierzu zwei neue Methoden im Page-Objekt.
- setMessage(string $message [, mixed $data])
- array getMessage(void)
Die Kommunikation des Order-Wizard mit der Page erfolgt noch bevor
die aktuelle Seite ermittelt wird. Hierzu wird die Methode get()
im Wizard überschrieben.
| Sprechende Page |
Top |
|
<?php require_once('HTML_OOH_Form/form_page_form.php'); class my_page extends form_page_form { var $message = ''; var $message_data = NULL; function setMessage($message, $data = NULL) { $this->message = $message; $this->message_data = $data; } // end func setMethod function getMessage() { // Rücksprache mit dem eigenem Formularobjekt... if ('new' == $this->form->getValue('adress')) { $this->message = 'new_address'; } return array($this->message, $this->message_data); } } ?>
|
| Neugieriger Wizard |
Top |
|
<?php require_once('HTML_OOH_Form/form_wizard.php'); class my_wizard extends form_wizard { function get() { list($message, $value) = $this->pages[$this->last]->getMessage(); ... } } ?>
|
< ^ >
|