NAVIGATION
Contentpart in einem Formular ausführen und Input-Daten generieren, (manipulieren) und versenden.
Das ist bisher mit array-fähigen Feldern möglich wie checkbox und select (im multiple-Modus).
<note tip>
Manipuliert 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>
Ein Contentpart, hier z.B. Bilder <div>, soll Daten zu jedem Bild an ein Formular übergeben. Der aktive, vom Benutzer bedienbare Teil ist in diesem Beispiel eine einfaches Kontrollkästchen (checkbox). Der passive Teil übergibt Bildparameter zum jeweiligen Bild.
Diese Datensammlung wird bei submit in einer eMail versendet.
Docu: –
Forum: Galerie mit Formular verbinden
Autor: Oliver Georgi http://phpwcms.de/ → aufbereitet: K.Heermann (flip-flop) (29.08.09)
CMS-Version: >= V1.3.9
Version: V1.0 29.08.09
Bedingung: → /config/phpwcms/conf.inc.php
Das wird gesendet:
Das wird empfangen:
Hallo Sir-Oblong-Fitz-Oblong mit der e-Mail: Sir-Oblong-Fitz-Oblong@example.com Ergänzungstext: ------------------------------ Der Text in drei Zeilen ------------------------------ Bilder bestellen: ------------------------------ 3-img_4533_800x600.jpg, 29-liegestuhl_michaela_640x480.jpg ------------------------------ Das war´s - Danke.
Vom Prinzip her ist es eine ganz normale Vorlage, die einfach nur die Daten durch einen CP “untergeschoben” bekommt.
Entscheidend ist die Namensgleichheit des angelegten Feldes und des Input-Bereichs im Template des CPs. (hier Bilder).
Hallo {name} mit der e-Mail: {eMail} Ergänzungstext: ------------------------------ {ergaenzung} ------------------------------ Bilder bestellen: ------------------------------ {Bilder} ------------------------------ Das war´s - Danke.
<div> <div>{ERROR:name}{LABEL:name}: </div>{name} <div>{ERROR:eMail}{LABEL:eMail}: </div>{eMail} <div>{ERROR:ergaenzung}{LABEL:ergaenzung}: </div>{ergaenzung} <div>{submIt}{resetIt}</div> </div> <div>{SHOW_CONTENT:CP,50}</div>
Der CP hat im Beispiel die ID=50.
In der Vorlage zu diesem CP wird an der Stelle an der das Input-Feld erscheinen soll
[BR]<input name="Bilder[]" id="{IMAGE_ID}" value="{IMAGE_ID}-{IMGNAME}" type="checkbox"><label for="{IMAGE_ID}">Bild bestellen</label>
eingesetzt.
In <input name=“Bilder[]” ….. muss der Name (hier Bilder) identisch sein mit dem Namen im Formulareintrag vom Typ “Kontrollkästchen” (checkbox).
<!--IMAGES_HEADER_START//--> [TITLE]<h1>{TITLE}</h1>[/TITLE] [SUBTITLE]<h2>{SUBTITLE}</h2>[/SUBTITLE] [TEXT]{TEXT}[/TEXT] <div class="images" id="images{ID}"> <!--IMAGES_HEADER_END//--> <!--IMAGES_ENTRY_START//--> <div class="imageEntry" style="float:left;padding:5px;border:1px solid #CCCCCC;margin:0px 5px 0 0;"> {IMAGE}[CAPTION] <p style="margin:3px 0 0 0;">{CAPTION}</p>[/CAPTION] [BR]<input name="Bilder[]" id="{IMAGE_ID}" value="{IMAGE_ID}-{IMGNAME}" type="checkbox" /><label for="{IMAGE_ID}">Bild bestellen</label> </div> <!--IMAGES_ENTRY_END//--> <!--IMAGES_ENTRY_SPACER_START//--><!-- space between images "{SPACE}px" --><!--IMAGES_ENTRY_SPACER_END//--> <!--IMAGES_ROW_SPACER_START//--><br style="clear:both" /><!-- space between image rows --><!--IMAGES_ROW_SPACER_END//--> <!--IMAGES_FOOTER_START//--> <br style="clear:both" /> </div> <!--IMAGES_FOOTER_END//-->