Differences

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> 
   
deutsch/phpwcms-system/artikel/contentparts/formular/spezielle-anwendungen/contentpart-nach-formular.1253138075.txt.gz · Last modified: 2018/06/03 18:07 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0