This is an old revision of the document!


CP nach Formulareingabe

Bestimmte ContentParts erst nach dem Ausfüllen und abschicken eines Formulars zeigen.

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. Wir können allerdings mit der Hilfe eines PHP-Skripts die 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> Verändern werden die eingegebene Daten mit einer Funktion im /frontend_init/ -Ordner.
Siehe dazu: RT available in form generated E-Mail (Verfügbar seit r282) </note>

Hier am Beispiel eines einfachen Formular mit einem nachgeschalteten CP demonstriert:

  • Ausfüllen des Formulars
  • Absenden des Formulars
  • Autom. Aufruf der CPs

Die Adresse der CPs ist von außen nicht sichtbar.

Docu: –
Forum: Galerie mit Formular verbinden

Autor: Oliver Georgi http://phpwcms.de/ aufbereitet: K.Heermann (flip-flop) (16.09.09)
CMS-Version: >= V1.4.1 r282
Version: V1.0 16.09.09

Bedingung:/config/phpwcms/conf.inc.php

  • $phpwcms['allow_ext_init'] = 1;




Frontend:

Das Formular:

example.com/r366/index.php?kategorie01

Das Ergebnis:

example.com/r366/index.php?kategorie01#jumpForm1


Backend:

Der CP "Einfacher Text":

Das einfache Formular:

Die Felder des Formulars:

Das Skript

in template/inc_sript/frontend_init/my_form_do_it.php

Hier beispielhaft der Aufruf des ContentPart mit der ID=2

<?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}';
}
 
?>
deutsch/phpwcms-system/artikel/contentparts/formular/spezielle-anwendungen/contentpart-nach-formular.1253137214.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