Kontaktform mit Empfängerauswahl

Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Kontaktform mit Empfängerauswahl

Beitrag von Nakoda » Sa 10. Sep 2011, 15:54

Hallo Ihr Profis,

folgndes suche ich. Ein Kontaktmodul mit Auswahlmöglichkeiten für versch. Empfänger und vielleicht sogar Themenbereiche.
Ich habe da zwar was gefunden aber da hat der Kollege wohl die Entwicklung eingestellt.
http://forum.contenido.org/viewtopic.php?f=51&t=15509
Gibt es sowas schon oder ist so etwas bei irgend jemandem in der mache?
Ich selbst hab da leider überhaupt keinen Plan wa zu machen wäre. Lediglich rudimentäre Anpassungen. Die bekomm ich wohl hin.
Aber alles andere.
Hat einer von Euch vielleicht 'nen Tipp (Außer vielleicht "lern PHP" oder etwas in der Art :wink: ).
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von idea-tec » Sa 10. Sep 2011, 16:24

Basierend auf dem Standard-Kontaktformular (damit wir vom gleichen sprechen und eine gemeinsame vergleichbare Basis haben) möchtest du ein Feld: Thema. Basierend auf der Auswahl des Themas soll die eMail an verschiedene Empfänger gehen?
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von Nakoda » Sa 10. Sep 2011, 16:36

Hi idea-tec ,

BINGO!
Du hast den Nagel auf den Kopf getroffen.
Kennt man ja von vielen Seiten. "Bitte wählen Sie ein Thema....".
Das wird dann an einen ode mehere weiter geroutet.
Soll für eine VereinsSeite sein.
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von idea-tec » So 11. Sep 2011, 08:39

ist doch einfach (zumindest poste ich die einfachste Variante, komplizierter geht immer :wink: )
Das baust du ins Modul-Template ein:

Code: Alles auswählen

<select name="thema">
<option value="1">Thema 1</option>
<option value="2">Thema 2</option>
<option value="3">Thema 3</option>
</select>
Und das muss in den Bereich ganz unten im Modul

Code: Alles auswählen

if($_POST[thema]==1) { $mail->AddAddress("eMail-Adresse 1","Empfängername 1"); }
if($_POST[thema]==2) { $mail->AddAddress("eMail-Adresse 2","Empfängername 2"); $mail->AddAddress("eMail-Adresse 4","Empfängername 4"); }
if($_POST[thema]==3) { $mail->AddAddress("eMail-Adresse 3","Empfängername 3"); }
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

Nakoda
Beiträge: 219
Registriert: Fr 2. Jul 2004, 23:50
Wohnort: Hamburg
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von Nakoda » So 11. Sep 2011, 10:24

Einfach! Nur für jemanden der weiß wie es geht. :wink:
SIeht doch prima aus. Erfüllt den Zweck den ich brauche (zumindest aus meiner Sicht).
Aber bestimmt kommt doch später mal jemand um die Ecke und will E-Mail Adressen und/oder Verteiler ändern.
Vielleicht wäre auch sinnvoll ein ja/nein Feld zu haben das einem eine Kopie des ganzen an die eigene Adresse schickt.
Ich weiß! Hätte man alles vorher sagen können aber die Ideen kommen mir meistens wenn ich schon etwas vor mir sehe. :oops:
In jedem Fall werde ich das soweit schon mal reinfrickeln. Bin immer dankbar für jede Hilfe.
Dann hätte ich da noch eine Frage.
Wie stelle ich es an das ich wohl alle Felder zur Verfügung stelle aber nicht alle als Pflichtfelder deklariert sind.
Ich hab einfach mal dumpf die Sternchen weg genommen. Aber das war wohl zu einfach gedacht.
Um ganz präzise zu sein soll diese Struktur abgebildet werden können.
http://www.ariana-sv.de/front_content.php?idart=59
Gruß aus HH

Armin
http://sig.sysprofile.de/quicksys/sysp-102592.png
Contenido 4.8.18

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von 20082009 » Do 17. Nov 2011, 11:03

Hallo,
weiß nicht, ob ich richtig bin.....

Ich habe eine Seite mit mehreren Absätzen. Zu jedem Absatz soll der Besucher mit einem Button weitere Informationen per Mailformular anfordern können.
Ich möchte das gerne so lösen, dass der Besucher auf "Weitere Infos zu Thema1" anklickt, er auf eine Kontaktseite (Standardkontaktformular) kommt, wo als textfeld "THEMA1" vorgegeben ist.
Klickt er im Absatz 2 auf "weriter Infos zu Thema2", kommt er zum gleichen Formular, nur es steht irgendwo THEMA2 als Info.
Ich könnte das so lösen, das ich pro Anfrage ein Kontaktformular erstelle, sind aber fast 20 Stück. Gibt es eine andere Lösung?

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Kontaktform mit Empfängerauswahl

Beitrag von Spider IT » Do 17. Nov 2011, 11:26

Hallo,

das Thema als Parameter im Link mit übergeben

Code: Alles auswählen

?thema=Thema1
und im Modul des Kontaktformulars als Vorgabe in ein entsprechendes Textfeld übergeben.
Modul:

Code: Alles auswählen

$tpl->set('s', 'THEMA', $_GET['thema']);
Modul-Template:

Code: Alles auswählen

<input type="text" name="Thema" value="{THEMA}" />
Dann natürlich noch das Feld $_POST['Thema'] im Modul in die eMail mit aufnehmen :)

Gruß
René

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von 20082009 » Do 17. Nov 2011, 13:57

Hallo,
Danke- Das war ja superschnell.

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von 20082009 » Di 6. Mär 2012, 17:35

EMAIL EMPFÄNGERAUSWAHL.

Hallo,
irgendwie funktioniert das nicht bei mir.
Ich bekomme zwar eine Mail. aber an die Adresse, die in der Artikelkonfiguration als Empfänger eingetragen ist.
Hier steht dann auch die Info drin "Thema" "1"
Es soll ja die Mail an die im Drop Down feld ausgewählte Mail Adresse gehen.
Oder geht das nicht?

Würde mich über schnelle Hilfe sehr freuen.

Danke und Gruß

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Kontaktform mit Empfängerauswahl

Beitrag von Spider IT » Mi 7. Mär 2012, 09:17

Hallo,

das war nicht deine Frage, die habe ich beantwortet und es funktioniert anscheinend auch (das Thema wird übergeben).

Zu deine neue Frage: Was für DropDown-Feld meinst du?
Wo ist das drin und wie heißt das?

Gruß
René

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von 20082009 » Do 8. Mär 2012, 13:44

Hi,
Ich habe im Formular eine Selectbox/Auswahlbox, wo ich meine Zielperson auswählen kann.
<select name="thema">
<option value="1">Ansprech1</option>
<option value="2">Ansprech2</option>
<option value="3">Ansprech3</option>
</select>


Im Modul gibt es dann zu jeder Zielperson auch eine entsprechede Mailadresse
if($_POST[thema]==1) { $mail->AddAddress("test1@test.com","Ansprech1"); }
if($_POST[thema]==2) { $mail->AddAddress("test2@test.com","Ansprech2"); $mail->AddAddress("test4@test.com","Ansprech4"); }
if($_POST[thema]==3) { $mail->AddAddress("test3@test.com","Ansprech3"); }


Wähle ich jetzt im Kontaktformular meinen Ansprechpartner aus und klicke auf "senden" wird die Mail versendet aber diese kommt nicht bei der passenden Mailadresse raus sondern bei der Adresse, die in der Artikelkonfiguration beim Kontaktmodul hinterlegt ist.
Und jetzt weiß ich nicht mehr weiter....

Beste Grüße

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Kontaktform mit Empfängerauswahl

Beitrag von Spider IT » Do 8. Mär 2012, 14:04

Ich schlage vor, du postest den Modulcode (Output) mal, denn so gibt es wohl Abschreibfehler.
Es kann z.B. nicht if($_POST[thema]) heißen, sondern if($_POST['thema']) oder if($_POST["thema"]).
Und dann ist natürlich entscheidend, an welcher Stelle du den Codeblock eingebaut hast.

Gruß
René

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von 20082009 » Do 8. Mär 2012, 14:27

Siehe unten
Zuletzt geändert von 20082009 am Do 8. Mär 2012, 14:52, insgesamt 1-mal geändert.

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Kontaktform mit Empfängerauswahl

Beitrag von Spider IT » Do 8. Mär 2012, 14:35

Danke.
Könntest du das nochmal bearbeiten und die einzelnen Teile (Modul-Output und Modul-Template) jeweils in ein Code-Block einfügen?
So ist dein Beitrag viel zu lang und unübersichtlich.

Gruß
René

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Kontaktform mit Empfängerauswahl

Beitrag von 20082009 » Do 8. Mär 2012, 14:51

TEMPLATE:

Code: Alles auswählen

<div id="contactForm">
    <form action="{form_action}" method="post">
        <input type="hidden" name="send" value="1" />
        <div class="contactRow clearfix">
        <br><br><hr size=1><br><b><h3>NUTZEN SIE UNSER KONTAKTFORMULAR</h3></b><br>
            <table cellpadding="0" cellspacing="0">
                
                
                <tr>
                  <td colspan="8">Bitte wählen Sie Ihren Ansprechpartner:<br><br></td>
                  <td class="pt" style="text-align:right;"></td>
                </tr>
              
                <tr>
                  <td height="30" colspan="8">&nbsp;</td>
                  <td class="pt" style="text-align:right;"></td>
                </tr>
                
                <tr>
                  <td colspan="8">Bitte wählen Sie Ihren Ansprechpartner:<br><br></td>
                  <td class="pt" style="text-align:right;"></td>
                </tr>
                <tr>
                  <td colspan="8"><select name="thema">
<option value="1">Thema 1</option>
<option value="2">Thema 2</option>
<option value="3">Thema 3</option>
</select></td>
                  <td class="pt" style="text-align:right;"></td>
                </tr>
                <tr>
                  <td height="30" colspan="8">&nbsp;</td>
                  <td class="pt" style="text-align:right;"></td>
                </tr>
                
                
                <tr>
                
                    <td class="pt" style="width:80px;"><label for="Anrede">{ANREDE}</label></td>
                    <td style="width:10px;"><input type="radio" name="Anrede" value="{ANREDE_OPTION1}" id="Anrede" checked="checked" style="width:auto;border:0;" /></td>
                    <td class="pt">{ANREDE_OPTION1}</td>
                    <td style="width:10px;"><input type="radio" name="Anrede" value="{ANREDE_OPTION2}" style="width:auto;border:0;" /></td>
                    <td class="pt">{ANREDE_OPTION2}</td>
                    <td class="pt" style="text-align:right;"></td>
                </tr>
            </table>
        </div>
     
        <div class="contactRow clearfix">
            <label for="Vorname">{VORNAME} *</label>
            <input type="text" name="Vorname" id="Vorname" class="input" maxlength="100"/>
        </div>
        <div class="contactRow clearfix">
            <label for="Name">{NACHNAME} *</label>
            <input type="text" name="Nachname" id="Nachname" class="input" maxlength="100"/>
        </div>
        <div class="contactRow clearfix">
            <label for="Firma">{FIRMA} </label>
            <input type="text" name="Firma" id="Firma" class="input" maxlength="100"/>
        </div>
        <div class="contactRow clearfix">
            <label for="Strasse">{STRASSE} </label>
            <input type="text" name="Strasse" id="Strasse" class="input" maxlength="100"/>
        </div>
        <div class="contactRow clearfix">
            <label for="PLZOrt">{PLZORT} </label>
            <input type="text" name="PLZOrt" id="PLZOrt" class="input" maxlength="100"/>
        </div>
        <div class="contactRow clearfix">
            <label for="Telefon">{TELEFON} *</label>
            <input type="text" name="Telefon" id="Telefon" class="input" maxlength="100"/>
        </div>
        <div class="contactRow clearfix">
            <label for="EMail">{EMAIL} </label>
            <input type="text" name="EMail" id="EMail" class="input" maxlength="100"/>
        </div>
        <div class="contactRow clearfix">
            <label for="Anliegen">{ANLIEGEN} *</label>
            <textarea name="Anliegen" id="Anliegen"></textarea>
        </div>
        <div id="contactFormSubmit" class="clearfix">
           <div id="absenden"> <div id="contactFormSubmitLeft">
                <input type="reset" value="{LOESCHEN}" />
            </div>
            <div id="contactFormSubmitRight">
                <input type="submit" value="{ABSCHICKEN}" />
            </div></div>
        </div>
    </form>
</div>
<p><br>
  * {PFLICHTFELDER}</p>
  


MODUL OUTPUT:

Code: Alles auswählen

<?php
/**
* $RCSfile$
*
* Description: Contact Form Output
*
* @version 1.0.0
* @author Andreas Lindner
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2005-08-12
* modified 2008-04-11 Rudi Bieller Changes concerning new layout
* }}
*
* $Id$
*/

#Includes
cInclude("classes", "class.phpmailer.php");

if (!isset($tpl) || !is_object($tpl)) {
    $tpl = new Template();
}

if (!isset ($_POST['send'])) {
    #Form has not been sent yet
    cInclude('classes', 'class.article.php');
    cInclude('classes', 'class.template.php');

    #Create contact form
    $sFormAction = $sess->url("front_content.php?idcat=$idcat&idart=$idart&parentid=$parentid");
    $tpl->set("s", 'form_action', $sFormAction);
    $tpl->set("s", "ANREDE", mi18n("Anrede"));
    $tpl->set("s", "ANREDE_OPTION1", mi18n("Herr"));
    $tpl->set("s", "ANREDE_OPTION2", mi18n("Frau"));
    $tpl->set("s", "NACHNAME", mi18n("Name"));
    $tpl->set("s", "VORNAME", mi18n("Vorname"));
    $tpl->set("s", "FIRMA", mi18n("Firma"));
    $tpl->set("s", "STRASSE", mi18n("Straße/Nr."));
    $tpl->set("s", "PLZORT", mi18n("PLZ/Ort"));
    $tpl->set("s", "TELEFON", mi18n("Telefon"));
    $tpl->set("s", "EMAIL", mi18n("E-Mail"));
    $tpl->set("s", "ANLIEGEN", mi18n("Nachricht"));
    $tpl->set("s", "PFLICHTFELDER", mi18n("Bitte alle Felder ausfüllen"));
    $tpl->set("s", "ABSCHICKEN", mi18n("abschicken"));
    $tpl->set("s", "LOESCHEN", mi18n("löschen"));

    $tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/kontaktformular.html");
} elseif ($_POST['send'] == 1) {
    #Form has been sent

    #Check user input
    $noerrors = true;
    $msg = '';
    if ($_POST['Vorname'] == '') {
        $noerrors = false;
        $msg .= mi18n("Bitte geben Sie Ihren Vornamen ein!")."<br/>";
    }
    if ($_POST['Nachname'] == '') {
        $noerrors = false;
        $msg .= mi18n("Bitte geben Sie Ihren Namen ein!")."'<br/>";
    }
    
    if ($_POST['Telefon'] == '') {
        $noerrors = false;
        $msg .= mi18n("Bitte geben Sie Ihre Telefonnummer an!")."'<br/>";
    }
    
   
    if ($noerrors == false) {
        echo "<p>";
        #Errors have been found
        echo "<strong>".mi18n("Beim Versenden sind folgende Fehler aufgetreten:")."</strong><br/>";
        echo $msg.'<br/>';
        echo '<a href="javascript:history.back();">&lsaquo; '.mi18n("zur&uuml;ck").'</a>';
    } else {
        #No errors, create and send mail
        $mail = new phpmailer;
        $mail_body = '<html><head></head><body bgcolor="#ffffff"><table cellspacing="0" cellpadding="2" border="0">';

        if (is_array($_POST)) {
            foreach ($_POST as $key => $value) {
                if ($key != 'send') {
                    $mail_body .= "<tr><td>$key</td><td>$value</td></tr>";
                }
            }
        }

        $mail_body .= '</table></bo'.'dy></html>';
        $mail->Host = "localhost";
        $mail->IsHTML(true);

        #Get mailer from settings
        switch (strtolower("CMS_VALUE[4]")) {
            case "smtp" :
                $mail->IsSMTP();
                $host = "CMS_VALUE[5]";
                $user = "CMS_VALUE[6]";
                $password = "CMS_VALUE[7]";
                if (($host != '') && ($user != '') && ($password != '')) {
                    $mail-> $SMTPAuth = true;
                    $mail->Host = $host;
                    $mail->Username = $user;
                    $mail->Password = $password;
                }
                break;
            case "mail" :
                $mail->IsMail();
                break;
            case "sendmail" :
                $mail->IsSendmail();
                break;
            case "qmail" :
                $mail->IsQmail();
                break;
            default :
                }
        $mail->From = "CMS_VALUE[0]";
        $mail->FromName = "CMS_VALUE[2]";
        $mail->AddAddress("CMS_VALUE[1]", "");
        $mail->Subject = "CMS_VALUE[3]";
        $mail->Body = $mail_body;
        $mail->WordWrap = 50;
        $mail->Send();
        
        



    
        #Display message after mail is sent
        echo mi18n("Ihr Anliegen wurde uns übermittelt. Vielen Dank!")."<br/>";
        
        

    }
}

if($_POST["thema"]==1) { $mail->AddAddress("test@tester.de","Empfängername 1"); }
if($_POST["thema"]==2) { $mail->AddAddress("info@ctester.de","Empfängername 2"); $mail->AddAddress("eMail-Adresse 4","Empfängername 4"); }
if($_POST["thema"]==3) { $mail->AddAddress("eMail-Adresse 3","Empfängername 3"); }

?>



Gesperrt