Minimales Modul

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
phpdummi
Beiträge: 18
Registriert: 23.11.2007, 16:15:15

Re: Minimales Modul

Beitrag von phpdummi » 20.05.2009, 19:50:46

Hi,

ich möchte, ohne viel selbst implementieren zu müssen, Fehlermeldung vom Validator ausgeben.
Quasi im Template definieren was angezeigt werden soll wenn der Validator die Felder rot markiert.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Minimales Modul

Beitrag von dr.e. » 21.05.2009, 00:02:40

Hallo Alex,

dann definiere einfach ein Textfeld per <form:text /> und einen zugehörigen <form:genericval /> der die Fehlermeldungen enthält. Das sieht dann in etwa so aus:

Code: Alles auswählen

<html:form name="myform">
   <form:genericval  button="send" field="searchterm" validator="text">Bitte geben Sie einen Text ein!<br /></form:genericval>
   <form:text name="searchterm" />
   <br />
   <br />
   <form:button name="send" value="OK" />
</html:form>
Wenn du nun auf den Button drückst, wird der Inhalt des <form:genericval />-Tags ausgegeben. Möchtest du noch einen roten Rand um das Suchfeld zeichnen, müssen die Attribute

Code: Alles auswählen

validate="true" button="send"
noch zusätzlich gesetzt werden.

Beispiele zu Formularen findest du auch unter http://adventure-php-framework.org/Seit ... onsschicht.

Viele Grüße,
Christian
Viele Grüße,
Christian

phpdummi
Beiträge: 18
Registriert: 23.11.2007, 16:15:15

Re: Minimales Modul

Beitrag von phpdummi » 21.05.2009, 14:26:29

Danke, genau das wollte ich erreichen.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Minimales Modul

Beitrag von dr.e. » 31.12.2010, 18:03:14

Hi Sonic,

ich bau den Code die nächsten Tage mal auf 1.13 um, so dass es auch für dich nutzbar ist. Grundsätzlich kannst du das Tutorial jedoch zusammen mit der aktuellen Doku versuchen mal anzufangen (zumindest mit dem Setup der Code-Basis bzw. der Sandbox). Geändert hat sich im wesentlichen folgendes:
  • Statt $form->get('isSent') jetzt $form->isSent() und statt $form->get('isValid') jetzt $form->isValid() im Controller verwenden.
  • Validatoren nicht in den Feldern definieren, sondern wie unter http://adventure-php-framework.org/Seit ... alidierung beschrieben "von aussen" mit einem extra Tag an die Felder hängen.
Ich melde mich sobald ich eine saubere Code-Basis habe. Solltest du inzwischen Fragen haben, meld dich einfach direkt hier.
Viele Grüße,
Christian

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Minimales Modul

Beitrag von Screeze » 01.01.2011, 13:22:40

Ohne quellcode kann ich nur raten, aber ich schätze du hast die Controller-angabe, die in 3.5 gemacht wurde wieder aus dem template entfernt?

Code: Alles auswählen

<@controller namespace="modules::calc::pres::documentcontroller" file="calc_controller" class="calc_controller" @>

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Minimales Modul

Beitrag von Screeze » 01.01.2011, 14:44:37

Das ist an einer API-änderung geschuldet, die gemacht wurde um der Namenskonvention zu entsprechen.
baseController heißt jetzt base_controller.

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Minimales Modul

Beitrag von Screeze » 01.01.2011, 15:13:46

Gute Frage - Geschmackssache.
Ich habe beispielsweise pro server / lokaler installation EINEN zentralen Ordner fürs apf, in dem die einzelnen versionen liegen - ohne apps ordner.
Diese Ordner hab ich unter versionscontrolle mit dem SVN gestellt, dass ich die per klick updaten kann.
also z.b.

Code: Alles auswählen

/apf/
---1.12/
*******core/
*******modules/
*******tools/
[...]
---1.13/
******core/
[...]
Und in meinen Projekten habe ich dann einfach symlinks auf diesen zentralen ordner, somit ist jedes projekt sofort auf der aktuellen APF version, wenn ich den zentralen ordner update.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Minimales Modul

Beitrag von dr.e. » 03.01.2011, 23:27:14

Hallo Sonic,

anbei habe ich eine überarbeitete Version zum Download angehängt. Dieses kannst du als Beispiel für die Implementierung des Moduls nutzen. Es ist im Prinzip alles bis 3.12 enthalten. Zur Installation/Nutzung brauchst du noch das aktuelle apf-codepack-1.13-RC1*-Package. Dieses noch in den Haupt-Ordner entpacken, so dass die Ordner core, modules, ... in apps ergänzt wird.
apf-examples-calc-1.13-RC1-2011-01-03-2220.zip
(3.25 KiB) 139-mal heruntergeladen
Die Einbindung in die aktuelle Sandbox kannst du unter Template-Wizzard ein

Code: Alles auswählen

<core:importdesign namespace="examples::calc::pres::templates" template="calc" />
einfügen und das Modul direkt testen.

Wie weit bist du bisher gekommen?
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Minimales Modul

Beitrag von dr.e. » 04.01.2011, 21:27:48

Hallo Sonic,

hast du dir das ZIP mal angesehen?
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Minimales Modul

Beitrag von dr.e. » 28.01.2011, 14:20:38

Hallo Sonic,

hat dir das ZIP schon weitergeholfen? Falls zu Fragen hast, immer her damit! :)
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Minimales Modul

Beitrag von dr.e. » 19.02.2011, 11:53:39

Hallo Sonic,

hat dir das ZIP weitergeholfen? Um das Beispiel in Zukunft immer up2date zu halten habe ich den Code in das SVN integriert. Das Setup ist in der README.txt beschrieben.
Viele Grüße,
Christian

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Minimales Modul

Beitrag von Screeze » 13.03.2011, 19:22:05

Laut Fehlermeldung verwendest du im Formular "CalcForm" ein multiselect Feld, dessen Name vermutlich eckige klammern [ ] enthält, was nicht sein darf, da die Taglib diese selber setzt.
Also einfach aus dem name="whatever[]" Attribut die [] entfernen.

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Minimales Modul

Beitrag von Screeze » 13.03.2011, 20:10:25

Und der base_controller Fehler besteht leider immer noch.
Welcher?

Ich bekomme kein Ergebnis ausgegeben(aber auch keine Fehler):
Ergebnis inwiefern? Zeigt er das Formular nicht an? oder ein Ergebnis einer Berechnung? über debug-ausgaben mal geprüft in welchen if-else zweigen du ankommst oder auch nicht?

Folgendes würde ich übrigens ändern:

Code: Alles auswählen

// Eingaben prüfen
         if($Form__CalcForm->get('isSent')){
in

Code: Alles auswählen

// Eingaben prüfen
if($Form__CalcForm->isSent() && $Form__CalcForm->isValid()){
Desweiteren frage ich mich grade was das "validate="true"" attribut in den textfeldern soll? :D

Benutzeravatar
dave
Beiträge: 931
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Minimales Modul

Beitrag von dave » 13.03.2011, 20:20:09

Hi Sonic,

wenn du mal auf das Datum "von vorne" schaust, siehst du, dass die Posts dort schon zwei-drei Jahre alte sind. In der Zeit hat sich einiges getan am APF! ;)

Wie Screeze dir schon geraten hat:
Ändere

Code: Alles auswählen

if($Form__CalcForm->get('isSent')){ 
in

Code: Alles auswählen

if($Form__CalcForm->isSent() && $Form__CalcForm->isValid()){ 
dann solte schonmal deine Berehcnung klappen, bzw. eine Fehlermeldung auflaufen. :)

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Minimales Modul

Beitrag von Screeze » 13.03.2011, 20:21:20

der mit dem Namen es müsste base_controller heißen und vorne steht immer noch basecontroller.
Dann such halt mal in den angezeigten zeilen ob da noch was falsch ist...
Es wird kein Ergebnis angezeigt, dass Formular schon.
Dann gilt meine Aussage bezüglich debug-ausgaben von oben ;)


hast du das aktuelle paket aus
viewtopic.php?f=6&t=44&start=30#p5013
verwendet oder ein uraltes? ich denke eher ein älteres?

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast