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 
|
Event-Handler definieren
Ein Wizard kann verschiedene Buttons besitzen mithilfe derer
ein Anwender die Seiten wechseln oder eine andere Aktion auslösen
kann. Jedem Button ist ein "event" zugeordnet, welches
durch eine Methode aus der wizard-Klasse bearbeitet wird.
| Event |
Handler |
| back |
handleBack() |
| next |
handleNext() |
| finish |
handleFinish() |
| help |
handleHelp() |
| cancel |
handleCancel() |
| direct |
handleDirect() |
Die Event-Handler können überschrieben werden, z.B. um
den Wizard dynamisch zu verändern. Dies macht sich
beispielsweise der Order-Wizard zu Nutze. Je nachdem
ob sich ein registrierter Kunde anmeldet oder ein Neukunde
erscheint, werden unterschiedliche Folgeseiten geladen.
ausprobieren...
| Event-Handler überschreiben |
Top |
|
<?php require_once('HTML_OOH_Form/form_wizard.php'); class my_wizard extends form_wizard { function handleHelp($last) { print "... handleHelp($last)\n"; // switch to page 1 return 'page1'; } // end func handleHelp } ?>
|
| Einbindung in bestehenden Code |
Top |
|
<?php
ini_set('include_path', ini_get('include_path') . ':' . $DOCUMENT_ROOT . '/projekte/:' . $DOCUMENT_ROOT . '/projekte/HTML_OOH_Form/');
require_once('./session_helper.php');
session_pre_include();
require_once('form_wizard.php');
require_once('./dummy_page.php');
class my_wizard extends form_wizard {
function handleHelp($last) {
print "... handleHelp($last)\n";
// switch to page 1
return 'page1';
} // end func handleHelp
}
session_register('w2');
session_register('c2');
if (!is_object($w2)) {
// Wizard mit drei Seiten erzeugen
$w2 = new my_wizard('non-modal');
$w2->addPage('page1', new dummy_page('Page 1'));
$w2->addPage('page2', new dummy_page('Page 2'));
$w2->addPage('page3', new dummy_page('Page 3'));
// Flag für remove/insert-Spielchen
$c2 = 1;
} else {
// Wizard existiert, ab und an modifizieren...
if (0 == ($c2 % 4)) {
print "Entferne 'page2'.\n";
$w2->removePage('page2');
} else if (2 == ($c2 % 4)) {
print "Füge 'page2' hinter 'page1' ein\n";
$w2->insertPage('page2', new dummy_page('Page 2.' . $c2), 'page1');
}
$c2++;
}
print "Counter: $c2 \n\n";
$w2->show();
session_save_include();
?>
|
< ^ >
|