Sofern es jemanden interessiert - mit ein paar Zeilen Code habe ich das ja doch noch gelöst bekommen.
Als erstes habe ich die Extension "th_mailformplus" wieder deinstalliert denn die wird nicht benötigt.
Ein normales eMail-Formular das die Standart-Komponente von Typo3 hervorbringt reicht völligst.
Dafür wurde die Extension "page_php_content" installiert um php-Code im content einfügen zu können. Das Plugin sollte jetzt auf der gleichen Site eingerichtet werden die auch die LIST/TREE/CATALOG/SEARCH/TOP plugins der Extension "ab_downloads" enthält.
Wichtig: Das php-Plugin bzw. der php-Code kommt VOR die Extension "ab_downloads"!
Um die Daten aus dem eMail-Formular übernehmen zu können benötigt man folgende Zeilen Code:
<?php
if (!isset($_POST['name']) || !isset($_POST['address']) || !isset($_POST['email']) || !isset($_POST['contact'])) header ("Location: index.php?id=490");
echo "<form action=\"dl_send.php\" method=\"post\">\n";
echo "<input type=\"hidden\" name=\"email\" value=\"".$_POST['email']."\" />\n";
echo "<input type=\"hidden\" name=\"address\" value=\"".$_POST['address']."\" />\n";
echo "<input type=\"hidden\" name=\"name\" value=\"".$_POST['name']."\" />\n";
echo "<input type=\"hidden\" name=\"copy\" value=\"".$_POST['contact']."\" />\n";
?>
NACH der Extension "ab_downloads" kommt ein weiteres plugin "HTML" - hier reicht die Standart-Möglichkeit in Typo3 HTML-Code einfügen zu können.
Dies ist dann für den send-button:
<input type="submit" value="senden" name="send" />
</form>
Im Template von "ab_downloads" wird dann noch eine Checkbox benötigt:
<input type="checkbox" name="download[]" value="###DOWNLOAD_LABEL###;;;###DOWNLOAD_HREF###">
Um den Spass komplett zu machen: Die Datei dl_send.php anlegen mit folgenden Zeilen Code:
<?php
function checkemail($email) {
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
return false;
}
return true;
}
if (isset($_POST['name']) && isset($_POST['address']) && isset($_POST['email']) && isset($_POST['copy'])) {
if (!checkemail($_POST['email'])) {
header("Location: index.php?id=650");
exit;
}
$to = $_POST['email'];
$subject = "Download Auswahl";
$message = "Sehr geehrter Kunde,\n\n
Sie haben auf www.info.de folgende Dateien ausgewählt:\n\n";
for ($i=0; $i<count($_POST['download']); $i++) {
$arr_dl = explode (';;;', $_POST['download'][$i]);
$message .= utf8_encode ($arr_dl[0])."\nhttp://www.info.de/".$arr_dl[1]."\n\n";
}
$message .= "\nBitte klicken Sie auf die Links um die Dateien zu speichern.\n\n\n
Mit freundlichen Grüßen,\n\n\n
aus Aachen ";
$header = "From: INFO <info@info.de>\n";
$header .= "Reply-To: info@info.de\n";
$header .= "Content-Type: text/plain; charset=UTF-8";
@mail($to, $subject, $message, $header);
$to = 'info@info.de';
$subject = "Download Auswahl";
$message = "Der Kunde: ".$_POST['name']."\n
eMail: ".$_POST['email']."\n
Adresse: ".$_POST['address']."\n
hat folgende Dateien auf www.info.de ausgewählt:\n\n";
for ($i=0; $i<count($_POST['download']); $i++) {
$arr_dl = explode (';;;', $_POST['download'][$i]);
$message .= $arr_dl[0]."\nhttp://www.info.de/".$arr_dl[1]."\n\n";
}
$header = "From: INFO <info@info.de>\n";
$header .= "Reply-To: info@info.de\n";
$header .= "Content-Type: text/plain; charset=UTF-8";
@mail($to, $subject, $message, $header);
header ("Location: index.php?id=660");
exit;
}
header ("Location: index.php?id=490");
?>
Die Datei dl_send.php anschließend in das root-Verzeichnis übertragen und ab dann sollten Kunden oder sonstige Interessenten die Download-Links per eMail erhalten.
Sofern ich nichts vergessen habe müsste das so funktionieren.
Bis zum nächsten Mal . . . 🙂
Michael