NAVIGATION
This shows you the differences between two versions of the page.
deutsch:phpwcms-system:artikel:contentparts:formular:spezielle-anwendungen:contentpart-nach-formular [2009/09/16 23:54] Knut Heermann (flip-flop) |
deutsch:phpwcms-system:artikel:contentparts:formular:spezielle-anwendungen:contentpart-nach-formular [2018/06/03 18:08] (current) |
||
---|---|---|---|
Line 7: | Line 7: | ||
Es gibt Anwendung, bei denen erst ein Formular ausgefüllt werden muss bevor bestimmte ContentParts für den Seitenbesucher verfügbar werden. Ein Login soll dazu nicht herangezogen werden. | Es gibt Anwendung, bei denen erst ein Formular ausgefüllt werden muss bevor bestimmte ContentParts für den Seitenbesucher verfügbar werden. Ein Login soll dazu nicht herangezogen werden. | ||
- | Im Feld **"bei Erfolg"** wird der Tag {SHOW_CONTENT:CP,XX} eingetragen, mit dem die/der CP/s nach dem Absenden des Formulars dargestellt werden/wird. In diesem Feld können Tags nicht direkt eingetragen werden, da hier ein Sicherheitsmechanismus greift, der alle Tags entfernt. | + | Im Feld **"bei Erfolg"** wird der Tag {SHOW_CONTENT:CP,XX} eingetragen, mit dem die CPs nach dem Absenden des Formulars dargestellt werden. In diesem Feld können **{**Tags**}** nicht direkt eingetragen werden, da hier ein Sicherheitsmechanismus alle **{**Tags**}** entfernt. |
- | Wir können allerdings mit der Hilfe eines PHP-Skripts, das eine neue Funktion verwendet, unser Ziel erreichen. (Verfügbar seit der Release r282). | ||
- | |||
- | Diese Funktion kann alle Formulareingaben lesen, verändern und zurückgeben. Sie legt sich zeitlich zwischen die Aktion submit und dem Versenden der eMail. | ||
- | <note tip> | + | Es gibt zwei Lösungen: |
- | **Verändern** werden die eingegebene Daten mit einer Funktion im /frontend_init/ -Ordner. \\ | + | |
- | Siehe dazu: [[http://code.google.com/p/phpwcms/issues/detail?id=131|RT available in form generated E-Mail]] (Verfügbar seit [[http://code.google.com/p/phpwcms/source/detail?r=282|r282]]) | + | |
- | </note> | + | |
- | **Hier am Beispiel eines einfachen Formular mit einem nachgeschalteten CP demonstriert:** | + | **Hier demonstriert am Beispiel eines einfachen Formular mit einem nachgeschalteten CP:** |
* Ausfüllen des Formulars | * Ausfüllen des Formulars | ||
* Absenden des Formulars | * Absenden des Formulars | ||
Line 24: | Line 18: | ||
**Die Adresse der CPs ist von außen nicht sichtbar.** | **Die Adresse der CPs ist von außen nicht sichtbar.** | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Lösung 1: ===== | ||
+ | |||
+ | **Bedingung:** -> [[http://www.phpwcms-docu.de/confincphp_de.phtml|/config/phpwcms/conf.inc.php]] \\ | ||
+ | * $phpwcms['allow_cntPHP_rt'] = 1; | ||
+ | |||
+ | \\ | ||
+ | Wir verwenden im Feld **"bei Erfolg"** den [PHP] Tag und setzen den direkten Funktionsaufruf des Tags {SHOW_CONTENT} ein. Die **[**Tags**]** in eckigen Klammern sind erlaubt :-? | ||
+ | |||
+ | Für das Nachladen des CP mit der ID=2 hieße das: | ||
+ | <code php>[PHP]echo showSelectedContent('CP,2');[/PHP]</code> | ||
+ | |||
+ | Das ist alles, die Adresse des nachgeladenen CP ist von außen nicht erkennbar. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Lösung 2: ===== | ||
+ | |||
+ | Wir können auch mit der Hilfe eines PHP-Skripts, das eine neue Funktion verwendet, unser Ziel erreichen. (Verfügbar seit der Release r282). | ||
+ | |||
+ | Diese Funktion kann alle Formulareingaben lesen, verändern und zurückgeben. Sie legt sich zeitlich zwischen die Aktion submit und dem Versenden der eMail. | ||
+ | |||
+ | Der Funktionsaufruf muss im Formular im Feld "PHP-Funktion:" unterhalb **"Empfänger - Vorlage:"** eingetragen werden. //(Siehe Bild unten)//. | ||
+ | |||
+ | <note tip> | ||
+ | **Verändert** werden die eingegebene Daten mit einer Funktion im /frontend_init/ -Ordner. \\ | ||
+ | Siehe dazu: [[http://code.google.com/p/phpwcms/issues/detail?id=131|RT available in form generated E-Mail]] (Verfügbar seit [[http://code.google.com/p/phpwcms/source/detail?r=282|r282]]) | ||
+ | </note> | ||
+ | |||
Line 38: | Line 63: | ||
\\ | \\ | ||
+ | ==== Das Skript ==== | ||
+ | |||
+ | in **template/inc_sript/frontend_init/my_form_do_it.php** | ||
+ | |||
+ | Hier beispielhaft der Aufruf des ContentPart mit der ID=2 | ||
+ | |||
+ | <code php|h my_form_do_it.php |h> | ||
+ | <?php | ||
+ | // ------------------------------------------------------------------------------------------- | ||
+ | // obligate check for phpwcms constants | ||
+ | if (!defined('PHPWCMS_ROOT')) { | ||
+ | die("You Cannot Access This Script Directly, Have a Nice Day."); } | ||
+ | // ------------------------------------------------------------------------------------------- | ||
+ | |||
+ | // Einfaches Skript fur den Aufruf eines CPs aus einem Formular heraus nach dem submit. | ||
+ | |||
+ | |||
+ | function my_form_do_it( &$postvar, &$form, &$mail ) { | ||
+ | |||
+ | $form['onsuccess'] .= '{SHOW_CONTENT:CP,2}'; | ||
+ | } | ||
+ | |||
+ | ?> | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
---- | ---- | ||
---- | ---- | ||
Line 65: | Line 116: | ||
=== Der CP "Einfacher Text": === | === Der CP "Einfacher Text": === | ||
- | - In einem versteckten Bereich abgelegt. | + | - Exemplarisch für jeden anderen CP. //(In einem versteckten Bereich ablegen)//. |
Line 76: | Line 127: | ||
- | === Die Felder des Formulars: === | ||
- | {{:deutsch:phpwcms-system:artikel:contentparts:formular:spezielle-anwendungen:cp-nach-formulareingabe05_de.gif|}} | ||
- | \\ | ||
- | ~~UP~~ | ||
- | ===== Das Skript ===== | ||
- | in **template/inc_sript/frontend_init/my_form_do_it.php** | ||
- | |||
- | Hier beispielhaft der Aufruf des ContentPart mit der ID=2 | ||
- | |||
- | <code php > | ||
- | <?php | ||
- | // ------------------------------------------------------------------------------------------- | ||
- | // obligate check for phpwcms constants | ||
- | if (!defined('PHPWCMS_ROOT')) { | ||
- | die("You Cannot Access This Script Directly, Have a Nice Day."); } | ||
- | // ------------------------------------------------------------------------------------------- | ||
- | |||
- | // Einfaches Skript fur den Aufruf eines CPs aus einem Formular heraus nach dem submit. | ||
- | |||
- | |||
- | function my_form_do_it( &$postvar, &$form, &$mail ) { | ||
- | |||
- | $form['onsuccess'] .= '{SHOW_CONTENT:CP,2}'; | ||
- | } | ||
- | |||
- | ?> | ||
- | </code> | ||