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:43] 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 29: | Line 54: | ||
| Forum: [[http://forum.phpwcms.org/viewtopic.php?p=119400#p119400|Galerie mit Formular verbinden]] | Forum: [[http://forum.phpwcms.org/viewtopic.php?p=119400#p119400|Galerie mit Formular verbinden]] | ||
| - | **Autor:** Oliver Georgi http://phpwcms.de/ -> // aufbereitet: [[http://planmatrix.de|K.Heermann]] (flip-flop) (16.09.09)// \\ | + | **Autor:** [[http://planmatrix.de|K.Heermann]] //(flip-flop) (16.09.09)// \\ |
| **CMS-Version:** >= V1.4.1 r282 \\ | **CMS-Version:** >= V1.4.1 r282 \\ | ||
| **Version:** V1.0 //16.09.09// \\ | **Version:** V1.0 //16.09.09// \\ | ||
| 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": === | ||
| + | - Exemplarisch für jeden anderen CP. //(In einem versteckten Bereich ablegen)//. | ||
| Line 75: | 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> | ||