modified eCommerce: mehrere Kontaktformulare anlegen

Da ich mit dem modified eCommerce Shop etwas gearbeitet habe, hier ein Post. Soll der Online-Shop um ein weiteres Kontaktformular ergänzt werden, zum Beispiel für spezielle Kundenanfragen, gilt es drei Dateien zu bearbeiten. Doch zuerst sollte man im Backend Bereich des Shops mit dem Content Manager ein neues Formualar anlegen. Wichtig – die Nummer der GruppenID notieren.

contact_us.php

Die /includes/contact_us.php kopieren, einfügen, umbenennen in contact_new.php. Überall wo noch contact_us steht, muss dieses ersetzt werden. Die nachfolgenden Zeilen sind aus meiner Datei rauskopiert und stehen nicht direkt untereinander, aber hier habe ich das CONTACT_US ersetzt durch die neue Variante CONTACT_NEW.

  1. $smarty->assign('CONATCT_NEW_HEADING', $shop_content_data['content_heading']);
  2. $smarty->assign('CONTACT_NEW_CONTENT', $contact_content);
  3. $smarty->assign('FORM_ACTION', xtc_draw_form('contact_new', xtc_href_link(FILENAME_CONTENT, 'action=send&coID='.(int) $_GET['coID'], 'SSL')));
  4. $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/contact_new.html');

contact_us.html

Die /template/module/contact_us.html kopieren, einfügen, umbenennen in contact_new.html. Alle contact_us Passagen müssen hier auch geändert werden.

  1. <h1>{$CONTACT_NEW_HEADING}</h1>
    {$CONTACT_NEW_CONTENT} <br />

shop_content.php

Die Zahl 7 ist die GruppenID des normalen Kontaktformulars contact_us, die Zahl 10 repräsentiert das neue Formular contact_new. Im Content Manager ist in der Übersicht die GruppenID zu jeder Seiten einsehbar. Ihr seht es ja im nachfolgenden Code: Alle Abfragen mit der Nummer 7 betreffen das Original-Kontaktformular, die if’s mit der 10 im Vergleich sind für das neue Formular.

  1. if ($_GET['coID'] != 7 && $_GET['coID'] != 10) {
        require (DIR_WS_INCLUDES.'header.php');
    }
    if ($_GET['coID'] == 7 && $_GET['action'] == 'success') {
        require (DIR_WS_INCLUDES.'header.php');
    }
    if ($_GET['coID'] == 10 && $_GET['action'] == 'success') {
        require (DIR_WS_INCLUDES.'header.php');
    }
    $smarty->assign('CONTENT_HEADING', $shop_content_data['content_heading']);
    if ($_GET['coID'] == 7) {
        include (DIR_WS_INCLUDES.'contact_us.php');
    }
    if ($_GET['coID'] == 10) {
        include (DIR_WS_INCLUDES.'contact_new.php');
    }

Done. Das Grundgerüst steht und jeder kann die Input-Felder ergänzen, verändern und an seine Wünsche anpassen! PHP und HTML Kenntnisse sind gefragt.

Kleine Ergänzungen:

Unter /lang/german/ und /lang/english ist jeweils eine contact_us.php zu finden. Dort sind Kontstanten mit define deklariert zu Label-Beschreibungen und Fehlermeldungen. Für neue Inputfelder darf man hier die Übersetzungen nicht vergessen! Es ist auch möglich eine eigene Sprachdatei für das neue Formular anzulegen, dann muss in der .html- und .php-Datei die config_load bzw. die require_once-Zeile dementsprechend angepasst werden.

In der /inc/xtc_php_mail.inc.php kann man noch eine Abfrage einbauen um den Betreff zu ändern. Zum jeweilligen Formular lässt sich eine Abfrage einbauen, welche die GruppenID abfängt. Danach kann z.B. die Betreffzeile eine Aussage machen, über welches Formular der Kunde den Shop kontaktiert hat.

if($_GET['coID'] == 7) {
    $email_subject = "Kontaktformular Contact_us";
} elseif (... == 10) ... = "Contact_NEW";

Alle Angaben ohne Gewähr.

Advertisements

Kommentare

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s