Page 1 of 1

[PHP-Export] Widerrufsbelehrung im Kontaktformular

PostPosted: Wed 16. Jul 2014, 22:17
by apizio
Hallo zusammen,

hier im Forum wird ja bereits heiß über die Widerrufsbelehrung etc. diskutiert.

Wir möchten das Kontaktformular erweitern, so dass unter der Rechtsbelehrung ein weiterer Bereich kommt, einmal die Widerrufsbelehrung und darunter der Verzicht auf das Widerrufsrecht, die beiden sollen per Radio-Button auswählbar sein (also nur immer eins von beiden).

Jetzt habe ich mir den Code von der Rechtsbelehrung aus der expose_contact.html genommen, Radio-Buttons daraus gemacht, die Belehrungstexte habe ich als txt Dateien (als Vorlage habe ich die expose_contact_terms.txt genommen) auf dem Webserver abgelegt.
Soweit funktioniert schon mal alles, bis auf zwei wirklich kleine Probleme ;)

1. Das Kontaktformular soll vor dem absenden prüfen, ob einer der beiden Radio-Buttons augewählt wurde (also Pflichtfelder)
2. In der zu sendenden E-Mail soll je nach Auswahl entweder "Die Widerrufsbelehrung wurde akzeptiert" oder "auf das Widerrufsrecht wird verzichtet" stehen.

Ich bekomme beides nicht wie gewünscht zum laufen ...

Hier mein bisheriger Code:
expose_contact.html
Code: Select all
      {CONTACT_FORM_TERMS.}
      <tr>
        <td class="col1{CONTACT_FORM_TERMS_ERROR}">&nbsp;</td>
        <td class="col2{CONTACT_FORM_TERMS_ERROR}" colspan="3">
          <br/>
          <input name="CONTACT_FORM_TERMS_WIDERRUF_VALUE" id="openestate_expose_contact_form_terms" type="radio" value="Die Widerrufbelehrung wurde zur Kenntnis genommen." class="box" {CONTACT_FORM_TERMS_WIDERRUF_ATTRIBS} />
          <label for="openestate_expose_contact_form_terms" style="display:inline; width:0; margin:0;">
            <img src="img/required.png" alt="" title="" border="0"/>
            {CONTACT_FORM_TERMS_WIDERRUF}
           </label><br/>
          <textarea id="openestate_expose_contact_form_terms_area" class="field" rows="5" cols="30" readonly="readonly">{CONTACT_FORM_TERMS_WIDERRUF_TEXT}</textarea>

          <br/>         
          <input name="CONTACT_FORM_TERMS_WIDERRUF_VALUE" id="openestate_expose_contact_form_terms" type="radio" value="Auf den Widerruf wird verzeichtet" class="box" {CONTACT_FORM_TERMS_WIDERRUF_SOFORT_ATTRIBS} />
          <label for="openestate_expose_contact_form_terms" style="display:inline; width:0; margin:0;">
            <img src="img/required.png" alt="" title="" border="0"/>
            {CONTACT_FORM_TERMS_WIDERRUF_SOFORT}
           </label><br/>
          <textarea id="openestate_expose_contact_form_terms_area" class="field" rows="5" cols="30" readonly="readonly">{CONTACT_FORM_TERMS_WIDERRUF_SOFORT_TEXT}</textarea>
                   
        </td>
      </tr>
      {.CONTACT_FORM_TERMS}


expose.php
Code: Select all
        // Widerrufsbelehrung darstellen
        $showTermsWiderruf = null;
        if ($setup->ShowContactTerms) {
          $showTermsWiderruf = $translations['labels']['estate.contact.form.terms.widerruf'];
          $replacement['{CONTACT_FORM_TERMS_WIDERRUF_ERROR}'] = '';
          $replacement['{CONTACT_FORM_TERMS_WIDERRUF_ATTRIBS}'] = '';
          
          
// Text der Rechtserklärung ermitteln
          $termsWiderruf = '';
          $termTemplates = array('expose_contact_terms_widerruf' . $lang . '.txt', 'expose_contact_terms_widerruf.txt');
          foreach ($termTemplates as $termTemplate) {
            $termsWiderruf = immotool_functions::read_template($termTemplate, $setup->TemplateFolder);
            if ($termsWiderruf!==false && is_string($termsWiderruf) && strlen($termsWiderruf)>0) break;
          }
          $replacement['{CONTACT_FORM_TERMS_WIDERRUF_TEXT}'] = ($termsWiderruf!==false && is_string($termsWiderruf))? trim($termsWiderruf): '';
        }
        immotool_functions::replace_var('CONTACT_FORM_TERMS_WIDERRUF', $showTermsWiderruf, $output); 
        
        
//Verzicht auf Widerrufrecht darstellen

        $showTermsWiderrufSofort = null;
        if ($setup->ShowContactTerms) {
          $showTermsWiderrufSofort = $translations['labels']['estate.contact.form.terms.widerruf.sofort'];
          $replacement['{CONTACT_FORM_TERMS_WIDERRUF_SOFORT_ERROR}'] = '';
          $replacement['{CONTACT_FORM_TERMS_WIDERRUF_SOFORT_ATTRIBS}'] = '';
          
          
// Text der Rechtserklärung ermitteln
          $termsWiderrufSofort = '';
          $termTemplates = array('expose_contact_terms_widerruf_sofort' . $lang . '.txt', 'expose_contact_terms_widerruf_sofort.txt');
          foreach ($termTemplates as $termTemplate) {
            $termsWiderrufSofort = immotool_functions::read_template($termTemplate, $setup->TemplateFolder);
            if ($termsWiderrufSofort!==false && is_string($termsWiderrufSofort) && strlen($termsWiderrufSofort)>0) break;
          }
          $replacement['{CONTACT_FORM_TERMS_WIDERRUF_SOFORT_TEXT}'] = ($termsWiderrufSofort!==false && is_string($termsWiderrufSofort))? trim($termsWiderrufSofort): '';
        }
        immotool_functions::replace_var('CONTACT_FORM_TERMS_WIDERRUF_SOFORT', $showTermsWiderrufSofort, $output);


Die Übersetzungen kommen soweit aus der myconfig.php
Code: Select all
  function load_translations( &$translations, $lang ) {
    // ggf. individuelle Übersetzungen einfügen
    if ($lang=='de')
    {
    //  $translations['labels']['title.index'] = 'Übersicht';
    //  $translations['labels']['title.fav'] = 'Vormerkliste';
    //
    $translations['labels']['estate.contact.form.terms.widerruf'] = 'Ich habe die Widerrufbelehrung zur Kenntnis genommen.';    
    $translations
['labels']['estate.contact.form.terms.widerruf.sofort'] = 'Ich mache kein Gebrauch von meinem Widerrufrecht und bitte kosfado UG um sofortige Bearbeitung.'; 

    
}
    else if ($lang=='en')
    {
    //  $translations['labels']['title.index'] = 'Summary';
    //  $translations['labels']['title.fav'] = 'Favourites';
    //
    $translations['labels']['estate.contact.form.terms.widerruf'] = 'Ich habe die Widerrufbelehrung zur Kenntnis genommen.';    
    $translations
['labels']['estate.contact.form.terms.widerruf.sofort'] = 'Ich mache kein Gebrauch von meinem Widerrufrecht und bitte kosfado UG um sofortige Bearbeitung.';     
    
}



und noch die expose_contact_mail.txt
Code: Select all
Kontaktanfrage über die Objekt Suche
----------------------------------------
 Details zum Interessenten
----------------------------------------
 Name       : {CONTACT_FIRSTNAME} {CONTACT_NAME}
 E-Mail     : {CONTACT_EMAIL}
 Telefon    : {CONTACT_PHONE}
 Anschrift  : {CONTACT_STREET} {CONTACT_STREETNR}
              {CONTACT_POSTAL} {CONTACT_CITY}

----------------------------------------
 Details zur Kontaktanfrage
----------------------------------------
 Webseite   : http://www.kosfado.de/index.php/objekt-suche.html
 Zeitpunkt  : {REQUEST_TIME}
 IP-Adresse : {REQUEST_IP}
 
Die Datenschutzerklärung wurde aktzeptiert.

{CONTACT_FORM_TERMS_WIDERRUF_VALUE}

{CONTACT_FORM_TERMS_WIDERRUF_SOFORT_VALUE}

{CONTACT_FORM_TERMS_ATTRIBS}
 
 
----------------------------------------
 Interesse an
----------------------------------------
{CONTACT_INTEREST}

----------------------------------------
 Mitteilung
----------------------------------------

{CONTACT_MESSAGE}


Ich hoffe ich bin bisher nicht ganz auf dem Holzweg ...

Schöne Grüße und herzlichen Dank,

Antonio

Re: [PHP-Export] Widerrufsbelehrung im Kontaktformular

PostPosted: Thu 17. Jul 2014, 17:33
by apizio
Hallo in die Runde,

hab es jetzt nicht mit Radio Buttons gelöst, sondern mit einem Dropdown Menü, funktioniert prima :)

Grüße

Antonio

Re: [PHP-Export] Widerrufsbelehrung im Kontaktformular

PostPosted: Thu 1. Feb 2018, 13:50
by Soeren
Hallo,
versuche mich auch gerade daran ein Button oder Dropdown im Kontaktformular einzubinden.
einmal Verzicht auf Widerrufsbelehrung und Akzeptanz der AGB.

Kannst Du Deine letzte Dropdownlösung einmal posten?

Re: [PHP-Export] Widerrufsbelehrung im Kontaktformular

PostPosted: Sun 11. Feb 2018, 09:49
by Soeren
Hallo nochmal,

ich würde gerne nach dem Kontaktformular, die dort eingegebenen Daten in ein "Widerrufsformular" einfügen. Das Formular habe ich schon erstellt.
Durch einen zweiten Klick soll dann das Formular separat abgeschickt werden.

Kann mir jemand bei der Umsetzung helfen?

Grüße Sören