![]() ![]() |
Sie sind hier: ZWikiSeiten > portal_form portal_formDas portal_form tool stellt Pr�f- und Navigationsdienste f�r Formulare zur Verf�gung. Die in PLone eingebauten Objekte nutzen von nun an das portal_form tool. Um zu sehen wie PortalForm? arbeitet, betrachten wir den Vorgang der Bearbeitung eines Links: Als erstes bemerkt man die neue URL unter der der Link bearbeitet wird. Bis dato hatte man Links bearbeitet unter .../myLink/link_edit_form. Die zu diesem Formular geh�rige Action bestand aus einem Skript, ../myLink/link_edit, dieses rief einen VAlidator? (Pr�fer) auf und veranlasste seinerseits die Navigation, abh�ngig von der Ausgabe der Validation. Falls die Pr�fung fehlschlug, bekam man eine Fehlermeldung zu sehen; im Falle wurde man zu einer abschlie�enden Zielseite geleitet. Die neue URL zum Bearbeiten von Links lautet ../myLink/portal_form/link_edit_form. Die Action des neuen Formulars selber lautet: ../myLink/portal_form/link_edit_form. Das portal_form tool unterbricht das URLTraversal? und sucht nach aktuell �bermittelten Werte. Wenn es neue Werte findet, so sucht es eine Anzahl Validators f�r das Formular im [portal_properties]?/[form_properties]? und l��t diese auf den �bermittelten Werten laufen. Die Kette der Validators gibt entweder 'success'oder Was Sie brauchen um (1) In Ihrem Formular: �ndern sie die Action Ihres Formulars so, da� sie es an sie selbst �bermittelt (=submit) (Setzen von (2) Registieren Sie eine Gruppe Validatoren f�r Ihr Formular. Die Registratierung geschieht mittels eines Aufrufs der setValidators() Methode in portal_form.setValidators('link_edit_form', ['validate_id', 'validate_link_edit']) Sie k�nnen ebenso doe Validatoren per Hand in [portal_properties]?/[form_properties]? registrieren. Die Validatoren in der Liste werden der Reihenfolge nach aufgerufen. Im Beispiel oben, ist (3) Schreiben Sie einen Validator f�r Ihr Formular. Der Validator sollte folgendes zur�ckliefern: (1) Den Status (gew�hnlich entweder Eine gewohnte Anwendung des (4) Schreiben Sie eine FormHandler?. Der handler sollte Ihr Objekt und seine MetaDaten? aus dem REQUEST �ndern und den Status-Code zur�ckliefern. Jeder weitere Code zum Aufruf zum Aufruf des Validators und zur Navogation, wird nun nicht mehr gebraucht und sollte gel�scht werden. Ihr FormHandler? sollte ein tuple bestehend aus dem Status (meist (5) Setup der von Ihrem Formular ben�tigten Navigation in portal_navigation (siehe unten) |