mod_form

Diskussion zum Formular-Modul für ConPresso 4

Braucht noch jemand beliebige Formulare?

ja
27
96%
ich habs nicht ganz verstanden
0
Keine Stimmen
nein
1
4%
 
Insgesamt abgegebene Stimmen: 28

Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

mod_form

Beitrag von MarkusR »

Vielleicht bin ich der einzige, der sowas braucht, aber erste Versuche zeigen, was man mit ConPresso-Bordmitteln (also Templates und Parser) so anstellen kann :D

Worum geht es? Ein Formular-Modul!

Mit diesem lassen sich, wenn man das Template-Prinzip verstanden hat und bei HTML nicht völlig auf dem Schlauch steht, beliebige Formulare erzeugen, deren Eingaben natürlich überprüft, deren Inhalte als Artikel gespeichert und zusätzlich noch als Mail versendet werden (können).
Anwendungsgebiete sind Kontaktformulare, Gästebücher, Online-Anmeldungen, Bestellformulare, Artikelkommentare etc.

Ich weiß auch, daß es mod_contact und mod_guestbook schon gibt und will da auch nichts neu erfinden.

Der Unterschied besteht darin, daß absolut beliebige Formulare erzeugt werden können, (fast) die gesamte Steuerung durch das Formular-Template selbst geschieht und es vor allem mehrfach installiert werden kann.

Ich bastele noch ein paar Tage dran und werde dann, falls Interesse besteht, hier eine Testversion bereitstellen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
semf
Modul-Entwickler
Beiträge: 1853
Registriert: 01.01.1970 02:00
Wohnort: Gütersloh-Friedrichsdorf
Hat sich bedankt: 14 Mal
Danksagung erhalten: 40 Mal

Beitrag von semf »

... also ich bin sehr gespannt!
Viel Erfolg!

Module ConPresso 4.x
Latest News
Tell-a-friend

Module ConPresso 3.4.x
Index_X
Kontakt
RSS-Feed
Umfrage
Gästebuch
Tell-a-Friend

Modul-Download
Ralf
ConPresso-Checker
Beiträge: 205
Registriert: 25.08.2005 10:58
Hat sich bedankt: 65 Mal
Danksagung erhalten: 14 Mal

Beitrag von Ralf »

... also finde ich auch, könnte mir da ein paar gute Anwendungsbeispiele vorstellen, in denen ich es verwenden könnte!!

we´re waiting :wink:
Benutzeravatar
Rappi
ConPresso-User
Beiträge: 97
Registriert: 05.05.2006 11:15
Wohnort: Magdeburg
Hat sich bedankt: 20 Mal
Danksagung erhalten: 1 Mal

Beitrag von Rappi »

ja, sowas kann auch ich sehr gut gebrauchen.
Marko Rappholz
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Ich fürchte, daß ich langsam mal ein Setup schreiben muss... :lol:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Ok... ich fange mal an mit der Beschreibung des Backends:

Vor der Installation sollte das Modulverzeichnis einen sinnfälligen Namen bekommen (Events, Kontakt, Gaestebuch, etc.).

Dann auf den Server kopieren und das Modul installieren.

Über Bild kommt man wie immer zu den (derzeit noch englischsprachigen) Einstellungen:
Auto release => Automatische Freigabe des Artikels
Send mail => Soll ein Mail versendet werden?
Recipient email adress => die Empfängeradresse
Mail subject => Der Betreff des Mails (%s wird ersetzt durch die Inhalte, die als Titel gekennzeichnet sind, dazu mehr bei den Platzhalter-Parametern)
Default error message => Ist erst mal ein allgemeiner Hinweis, der als Messagebox erscheint
Default input error => erscheint direkt am fehlerhaften Feld, wenn nicht eine feldspezifische Fehlermeldung vorgesehen wurde
Success message => Die Erfogsmeldung
Select rubric to store data => hier wird die Rubrik eingestellt, die die Artikel aufnehmen soll
Select template => das benutzte Formulartemplate (wobei praktisch jedes Template benutzt werden kann!)
Form method => ist die Übertragungsmethode (durch ein GET lassen sich auch Links für eine Vorbelegung der Felder benutzen)
Submit caption => die Beschriftung des Absenden-Buttons (das wird aber nochmal modifiziert)

Zur Vervollständigung nun noch folgendes:
1.) Wer gerne zum schnellen Experimentieren vorgefertigte Templates benutzen möchte, ruft - während er noch eingeloggt ist - die Datei setup.php im Modulverzeichnis auf (nur bei der ersten Installation des Moduls). Dadurch werden drei Beispieltemplates (Kontakt, Gästebuch, Veranstaltung) inkl. der notwendigen Platzhaltereinstellungen installiert.
2.) Es wird noch eine Rubrik benötigt, die die Artikel aufnimmt. Diese sollte das gewünschte Template erlauben!
3.) Nun das Template unfd die Rubrik in den Moduleinstelungen speichern.

Damit kann es schon losgehen!
Die Beschreibung der Platzhalter im nächsten Posting...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Nun die Platzhalter... es gibt gar keine speziellen Platzhalter(!)... aber eigentlich gibt es sie doch... :lol:

Was will uns MarkusR damit sagen?

Der "Trick" ist folgender: Es werden zur Darstellung des Formulars die ganz normalen Text-Platzhalter benutzt, die automatisch umgewandelt werden.
Ein Platzhalter <!-- Text: Nachname; --> mutiert im Hintergrund zu <!-- Form: Nachname; --> und wird plötzlich als Texteingabefeld dargestellt.
Daher dient der Artikel-Teil des Templates gleichzeitig zur Erstellung des Formulars als auch zur Darstellung der Ergebnisse. Man benötigt also nur ein Design!

Damit es aber spannender wird, gibt es ein paar zusätzliche Parameter, die angegeben werden können:

Der Wichtigste: needed; sorgt für die Prüfung auf Eingaben und Verweigert das Speichern, wenn keine Eingabe erfolgt.
needed=Fehlermeldung; gibt statt des Standardfehlers einen belibigen Text aus.
mailcheck=Meldung; macht dies analog für Mailadressen
title speichert die Eingabe als Artikeltitel. Bei mehreren title-Feldern werden deren Inhalte durch "/" getrennt.
author speichert diese Eingabe als Artikelautor
authoremail speichert diese Eingabe als Autoren-Email

Defaultmäßig werden die Felder als <input type="text"... erzeugt
Durch die Angabe von type= kann zwischen den verschiedenen Formularelementen gewählt werden
type=textarea erzeugt eine textarea
type=hidden erzeugt ein hidden-Feld
type=checkbox erzeugt eine Checkbox
type=radio erzeugt einen Radiobutton (wobei der immer ein paar gleichnamige Kumpels bekommen sollte)
type=select erzugt ein Auswahl-Feld

diese Typen benötigen z.T. weitere Angaben in dieser Form
size= erzeugt eine Size-Angabe in Textfeldern
cols= und rows= machen dies analog für eine Textarea
value= dient der Belegung von Checkboxen und Radiobuttons mit Werten
class= erlaubt die Angabe einer CSS-Klasse bei Text und Textarea
values=Text1,Text2,Text3,... erzeugt die Werte für das Auswahlfeld (Trennung durch Kommata)

Nur der Artikel-Teil des Templates dient der Formularerstellung und Verarbeitung.
Der Index-Teil kann für eine Darstellung aller Einträge benutzt werden (wie das Index-Seiten immer machen), durch einen Link zur Detailseite sieht man wie immer den Artikel-Teil, aber eben ohne Formularfelder.
Der Javascript/PHP-Teil enthält die Darstellung, die via Mail versendet wird.
Zuletzt geändert von MarkusR am 31.07.2006 18:13, insgesamt 1-mal geändert.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Und nun für alle, die dann nicht anschließend schreiben, daß die Übersetzung unvollständig ist, das Handbuch fehlt, die Hilfe nicht geht und man im Grunde sowieso alles anders machen müsste :mrgreen: ... hier die allererste Beta!

Lizenznummer
MOD400011212034418ee4a217360fc2a
Testversion gültig bis 25.8.06 (!)

Es geht darum, ob das Grundprinzip funktioniert (bei mir laufen damit einige sehr komplexe Formulare ganz problemlos...)

In der Anlage finden registrierte und angemeldete Forumsmitglieder das ZIP-Archiv!
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Nächste Pläne:
Heute habe ich erst mal einen "DatePicker" zurechtgeschustert, der dann Datumsauswahlen ermöglichen soll. Nun muß ich noch an die ConPresso-gerechte Umwandlung denken, damit dies z.B. als Verfallsdatum abgespeichert werden kann, um z.B. Terminlisten zu generieren. Natürlich muß bei manuellen Eingaben auch die Plausibilität geprüft werden...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Hallo Markus,

was für Anwendungsgebiete siehst du denn für einen solchen Datepicker mit möglicher Speicherung als Verfallsdatum bzw. für welche Art von Formularen wäre er deiner Meinung nach Sinnvoll?

Wenn man das Modul für die Anmeldung zu Veranstaltungen benutzt, wäre eine Bestätigungsmail sinnvoll. Könntest du dir vorstellen noch einen Parameter "sendmail" einzubauen, wonach die Formulardaten auch an diese E-Mail, welche im Template eingegeben wurde, gesendet wird?

Was hällst du davon, noch eine Bestätigungsseite auszugeben?
Ich habe das mal testweise gemacht:
Suche in mod_form/index.php

Code: Alles auswählen

if (!$form_ok) include(CPO_BASEDIR.$directory.'/includes/form.inc.php');
füge danach ein:

Code: Alles auswählen

else {
    $_REQUEST['nr']=$article_nr;
    $_GET['nr']=$article_nr;
    $_GET['rubric']=$activeModules[$directory]['rubric'];

    require(CPO_BASEDIR.'_include/var_category.php');
    require(CPO_BASEDIR.'_include/secure.php');
    include('../_includesite/i_detail.php');
}
@ALL:
Ihr könnt das Modul ruhig testen, es funktioniert bei mir super. Villeicht rückt MarkusR ja auch einen länger gültigen Testschlüssel raus, damit ihr das Modul schon richtig einsetzen könnt.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
m-grueger
ConPresso-User
Beiträge: 73
Registriert: 01.01.1970 02:00
Hat sich bedankt: 16 Mal
Danksagung erhalten: 3 Mal

Erster Test

Beitrag von m-grueger »

Hallo,

ich habe eben einen ersten Test durchgeführt und muss sagen:
Funktioniert soweit wunderbar :D

Gruß,
m-gruger
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Matthias V hat geschrieben:was für Anwendungsgebiete siehst du denn für einen solchen Datepicker mit möglicher Speicherung als Verfallsdatum bzw. für welche Art von Formularen wäre er deiner Meinung nach Sinnvoll?
Ich habe ihn im Testlauf mit dem Veranstaltungstemplate.
Veranstaltungen, die ihr Ende erreicht haben landen damit automatisch im Archiv. Außerdem kann man nach dem Pub.- oder Verfallsdatum ja sortieren (nach der bereits beschriebenen Änderung in common.inc.php)
Ich denke auch noch an eine Option das (und anderes) in den Index zu schreiben, der aber leider mit seinen 6 Stellen etwas begrenzt, also nur bedingt geeignet ist...
Matthias V hat geschrieben:Wenn man das Modul für die Anmeldung zu Veranstaltungen benutzt, wäre eine Bestätigungsmail sinnvoll. Könntest du dir vorstellen noch einen Parameter "sendmail" einzubauen, wonach die Formulardaten auch an diese E-Mail, welche im Template eingegeben wurde, gesendet wird?
Ich würde das gerne als Moduleinstellung in der Form
- keine Bestätigung
- Bestätigungsseite
- Bestätigungsmail
- Bestätigungsseite und -mail
einbauen. Eine Erfolgsbestätigung erfolgt ja ohnehin. Und welcher User liest schon Meldungen... :mrgreen:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

MarkusR hat geschrieben:Ich denke auch noch an eine Option das (und anderes) in den Index zu schreiben, der aber leider mit seinen 6 Stellen etwas begrenzt, also nur bedingt geeignet ist...
Ich benutze bei Gästebuch das Index-Feld zur identifizierung von Kommentaren. Aus dem von dir beschriebenen Grund musste ich allerdings ein Zahlensystem mit 35 Ziffern entwickeln, damit ich genug Infos in das Index-Feld bekomme. Beispiel_mod_guestbook
Ich hatte mir ja auch schonmal von Balu 2-3 nicht vorbelegte Felder in CPO_NEWS gewünscht, damit man solche Infos besser abspeichern kann. Villeicht erfüllt er mir ja den Wunsch für die Version 4.1.0.
MarkusR hat geschrieben:Ich würde das gerne als Moduleinstellung in der Form
- keine Bestätigung
- Bestätigungsseite
- Bestätigungsmail
- Bestätigungsseite und -mail
einbauen. Eine Erfolgsbestätigung erfolgt ja ohnehin. Und welcher User liest schon Meldungen... :mrgreen:
Die Bestätigungsmail soll dann also an den Formularausfüller gehen, und unabhängig von der in den Moduleinstellungen eingestellten E-Mail sein, oder?
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Matthias V hat geschrieben:
MarkusR hat geschrieben:Ich würde das gerne als Moduleinstellung in der Form
- keine Bestätigung
- Bestätigungsseite
- Bestätigungsmail
- Bestätigungsseite und -mail
einbauen. Eine Erfolgsbestätigung erfolgt ja ohnehin. Und welcher User liest schon Meldungen... :mrgreen:
Die Bestätigungsmail soll dann also an den Formularausfüller gehen, und unabhängig von der in den Moduleinstellungen eingestellten E-Mail sein, oder?
Der Admin (der im Backend eingstellt wird) bekommt ja schon ein Mail.
Und die Bestätigung geht raus, wenn sie aktiviert ist, es ein Feld mit dem Parameter authoremail gibt und dieses auch ausgefüllt ist (was man ja erzwingen kann). Aber das kommt erst, wenn noch ein paar Parameter das ganze richtig abrunden... :wink:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7381
Registriert: 01.01.1970 02:00
Hat sich bedankt: 114 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Hier die zweite Beta!

Neues:
  • Auswahl einer Bestätigungsart:
    - keine Bestätigung
    - Bestätigungsseite
    - Bestätigungsmail
    - Bestätigungsseite und -mail
  • Weniger Abfragen
  • neue Parameter:
    • disabled => ausgegraute Formularfelder (sinnvoll in Verbindung mit Feldübergabe mittels URL)
    • type=fixed => Darstellung als reiner Text mit angefügtem Hiddenfeld (sinnvoll in Verbindung mit Feldübergabe mittels URL)
    • type=datepicker => erzeugt einen Datumswähler
    • datecheck => die Eingabe wird auf Gültigkeit im gregorianschen Kalender geprüft (fehlende Angaben werden dabei ergänzt)
    • idx => die ersten 6 Stellen der Eingabe werden als Artikelindex verwendet. Ist gleichzeitig datecheck angegeben, wird die Eingabe als Datum in der Form JJMMTT gespeichert.
      ConPresso sortiert standardmäßig nach diesem Index, so daß sich Termine automatisch richtig einordnen oder z.B. Mitgliederlisten automatisch sortiert sind
  • URL-Übergabe von Artikelinhalten:
    Man kan also z.B. in einem Artikel einen Link einbauen, der Werte ans Formular übergibt

    Code: Alles auswählen

    <a href="../mod_form/index.php?Produktnummer=<!-- Text: Produktnummer; -->&Bezeichnung des Artikels=<!-- Text: Bezeichnung des Artikels; -->">Anfrage erstellen</a>
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von MarkusR am 31.07.2006 18:23, insgesamt 1-mal geändert.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle