Nein die Abonnenten bekommen keine Mail und sind noch nicht aktiviert. Wie gesagt nur kurz sichtbar in der DB. Dann nachdem man die Abonnentenliste aufruft im Backend werden die neuen Daten entfernt.
Hier für alle Fälle mal meine Schritte:
1. Ordner erstellen unter system/modules (Benennung bei mir: "newsletter-Felderweiterung")
2. Unterodner "config", "dca" und "language" erstellen
3. Folgende Dateien aus dem standard Newsletter-Modul kopiert:
system/modules/newsletter-Felderweiterung/config/database.sql
system/modules/newsletter-Felderweiterung/config/config.php
system/modules/newsletter-Felderweiterung/dca/tl_newsletter_recipients.php
system/modules/newsletter-Felderweiterung/languages/de/tl_newsletter_recipients.php
4. Formular erstellen
Und hier der Code der einzelnen Dateien:
database.sql
Code:
-- --------------------------------------------------------
--
-- Table `tl_newsletter_recipients`
--
CREATE TABLE `tl_newsletter_recipients` (
`channels` varchar(128) NOT NULL default '',
`anrede` varchar(128) NOT NULL default '',
`name` varchar(128) NOT NULL default '',
`vorname` varchar(128) NOT NULL default '',
`adresse` varchar(128) NOT NULL default '',
`plz` varchar(128) NOT NULL default '',
`ort` varchar(128) NOT NULL default '',
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
config.php
PHP-Code:
/**
* Back end modules
*/
array_insert($GLOBALS['BE_MOD']['content'], 4, array
(
'newsletter' => array
(
'tables' => array('tl_newsletter_channel', 'tl_newsletter', 'tl_newsletter_recipients'),
'send' => array('Newsletter', 'send'),
'import' => array('Newsletter', 'importRecipients'),
'icon' => 'system/modules/newsletter/html/icon.gif',
'stylesheet' => 'system/modules/newsletter/html/style.css'
)
));
/**
* Front end modules
*/
array_insert($GLOBALS['FE_MOD'], 4, array
(
'newsletter' => array
(
'subscribe' => 'ModuleSubscribe',
'unsubscribe' => 'ModuleUnsubscribe',
'nl_list' => 'ModuleNewsletterList',
'nl_reader' => 'ModuleNewsletterReader'
)
));
/**
* Register hooks
*/
$GLOBALS['TL_HOOKS']['createNewUser'][] = array('Newsletter', 'createNewUser');
$GLOBALS['TL_HOOKS']['activateAccount'][] = array('Newsletter', 'activateAccount');
$GLOBALS['TL_HOOKS']['getSearchablePages'][] = array('Newsletter', 'getSearchablePages');
tl_newsletter_recipients.php
PHP-Code:
/**
* Extend default palette
*/
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default'] = str_replace
(
'contact',
'contact,anrede',
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default']
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default'] = str_replace
(
'contact',
'contact,name',
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default']
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default'] = str_replace
(
'contact',
'contact,vorname',
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default']
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default'] = str_replace
(
'contact',
'contact,adresse',
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default']
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default'] = str_replace
(
'contact',
'contact,plz',
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default']
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default'] = str_replace
(
'contact',
'contact,ort',
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['palettes']['default']
);
/**
* Add field to tl_newsletter_recipients
*/
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['fields']['anrede'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_newsletter_recipients']['anrede'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8, 'tl_class'=>'w50')
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['fields']['name'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_newsletter_recipients']['name'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8, 'tl_class'=>'w50')
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['fields']['vorname'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_newsletter_recipients']['vorname'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8, 'tl_class'=>'w50')
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['fields']['adresse'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_newsletter_recipients']['adresse'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8, 'tl_class'=>'w50')
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['fields']['plz'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_newsletter_recipients']['plz'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8, 'tl_class'=>'w50')
);
$GLOBALS['TL_DCA']['tl_newsletter_recipients']['fields']['ort'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_newsletter_recipients']['ort'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8, 'tl_class'=>'w50')
);
Die Sprachdatei ist nicht so wichtig denke ich.
Hier noch mein Formular:
HTML-Code:
<form action="newsletter-abonnieren.html" id="f1" method="post" enctype="application/x-www-form-urlencoded">
<div class="formbody">
<input type="hidden" name="FORM_SUBMIT" value="auto_form_1" />
<input type="hidden" name="MAX_FILE_SIZE" value="2048000" />
<input type="hidden" name="channels" value="1" />
<div id="ctrl_1" class="radio_container"><span><input type="radio" name="anrede" id="opt_1_0" class="radio" value="f" /> <label id="lbl_1_0" for="opt_1_0">Frau</label></span><span><input type="radio" name="anrede" id="opt_1_1" class="radio" value="h" /> <label id="lbl_1_1" for="opt_1_1">Herr</label></span></div><br />
<label for="ctrl_2" class="mandatory"><span class="invisible">Pflichtfeld</span> E-Mail<span class="mandatory">*</span></label>
<textarea name="email" id="ctrl_2" class="textarea mandatory" rows="1" cols="1"></textarea><br />
<label for="ctrl_3" class="mandatory"><span class="invisible">Pflichtfeld</span> Name<span class="mandatory">*</span></label>
<input type="text" name="name" id="ctrl_3" class="text mandatory" value="" /><br />
<label for="ctrl_5" class="mandatory"><span class="invisible">Pflichtfeld</span> Vorname<span class="mandatory">*</span></label>
<input type="text" name="vorname" id="ctrl_5" class="text mandatory" value="" /><br />
<label for="ctrl_6">Straße + Hausnummer</label>
<input type="text" name="adresse" id="ctrl_6" class="text" value="" /><br />
<label for="ctrl_7">PLZ</label>
<input type="text" name="plz" id="ctrl_7" class="text" value="" /><br />
<label for="ctrl_8">Ort</label>
<input type="text" name="ort" id="ctrl_8" class="text" value="" /><br />
<div class="row_7 odd explanation">
<p>Ja, ich möchte den Newsletter per mail zugesendet bekommen.</p>
</div>
<div class="submit_container">
<input type="submit" id="ctrl_11" class="submit" value="Newsletter bestellen" />
</div>
</div>
</form>
Ich hoffe du kannst damit etwas anfangen. Vielleicht lösen wir das Problem ja gemeinsam ;-).
gruß
cheche
Lesezeichen