Configuration/TypoScript Reference

Here you find all configuration (settings) possibilities. Configuration via TypoScript (and FlexForms).

Important: for fp_newsletter-versions < 6 you should look here: https://docs.typo3.org/p/fixpunkt/fp-newsletter/5.2/en-us/Configuration/Index.html

Properties for settings

Property Data type Description Default value
table string tt_address, fe_users, other or empty value supported tt_address
newsletterExtension string luxletter (default for fe_users), mail (default for tt_address) or other empty = luxletter
optionalFields string Optional fields: see below gender,firstname,lastname
optionalFieldsRequired string Optional required* fields: see below  
doubleOptOut boolean Enable double out out unsubscription? 1
disableErrorMsg boolean Disable some error messages (e.g. already/not subscribed)? 0
enableUnsubscribeForm boolean Enable unsubscribe form at the subscribe page?** 0
enableUnsubscribeGdprAsHidden boolean Do not show the gdpr-checkbox at unsubscribe form? 0
enableEditForm boolean Enable edit form at the subscribe page?** 0
subscribeUid integer Page for the subscription 1
subscribeMessageUid integer Optional page for the redirect after subscription  
subscribeVerifyUid integer Page for the subscription-verification  
subscribeVerifyMessageUid integer Optional page for the redirect after subscription-verification  
unsubscribeUid integer Page for the unsubscription 1
unsubscribeMessageUid integer Optional page for the redirect after unsubscription  
unsubscribeVerifyUid integer Page for the unsubscription-verification  
unsubscribeVerifyMessageUid integer Optional page for the redirect after unsubscription-verification***  
resendVerificationUid integer Page, where a user can request the verification-email again  
editUid integer Page, where a user can edit his subscription  
gdprUid integer Page with the GDPR text 1
daysExpire integer The link expires after X days 2
searchPidMode integer Search in folders: 0: only in the 1. folder; 1: in all folders° 0
deleteMode integer 1: deleted flag; 2: delete entry; 3: remove only cat./group; 4: hidden f. 1
languageMode integer 0: uses -1 if L>0; 1: uses the sys_language_uid from pages 0
categoryMode integer 0: allow only categories/groups specified in categoryOrGroup; 1: all 1
categoryOrderBy string category order by: title, sorting or uid title
unsubscribeMode integer 0: direct unsubscription with a link from Luxletter; 1: show a form 0
categoryOrGroup string List of categories/groups (uid) from sys_category or fe_groups°°  
html integer 0: only TEXT; 1: TEXT and HTML; -1: ignore mail-fields in tt_address 1
password string Password for the fe_users table. random creates a random password. random
authCodeFields string Copy "Fields ... of authentication codes" from mail here  
reCAPTCHA_site_key string Website-key for Google reCaptcha v3.  
reCAPTCHA_secret_key string Secret key for Google reCaptcha v3  
mathCAPTCHA integer Show a mathematical captcha? 0: no; 1: with 1 digit; 2: with 2 digits 0
honeypot boolean Enable a honeypot against spam? 0
debug boolean Don´t send email when debug=1 0
checkForRequiredExtensions boolean Check, if required extensions are installed. 0: no; 1: yes. 1
company string Name of your company Ihre Firma
gender.please string Text for gender selection Bitte auswählen
gender.mr string Text for the gender mr Herr
gender.mrs string Text for the gender mrs Frau
parameters.active string Parameter for newsletter subscription in external extension (POST)  
parameters.email string Parameter for the email from external source (GET/POST-parameter)  
email.senderMail string Your email-address beispiel@test.de
email.senderName string Your name Absender-Name
email.subscribeVerifySubject string Subject of the verify email (subscription) Bitte verifizieren ...
email.unsubscribeVerifySubject string Subject of the verify email (unsubscription) Bitte verifizieren ...
email.adminMail string Admin email-address - if not empty: an email goes to an admin too  
email.adminName string Admin name Admin
email.adminSubscribeSubject string Subject of the admin email (subscription) Neue Newsletter-Anmeldung
email.adminUnsubscribeSubject string Subject of the admin email (unsubscription) Neue Newsletter-Abmeldung
email.adminMailBeforeVerification boolean 0: send email to admin after verification; 1: before verification 0
email.subscribedSubject string Subject of the confirmation email (subscription) Bestätigung Newsletter-Anmeldung
email.unsubscribedSubject string Subject of the confirmation email (unsubscription) Bestätigung Newsletter-Abmeldung
email.editSubject string Subject to the edit email Ändern Sie Ihr Newsletter-Abo...
email.enableConfirmationMails boolean Send confirmation email to the user after verification? 0: no; 1: yes 0
email.dontAppendL boolean Append the language UID to a template (when L>0)? 0: yes; 1: no°°° 1
overrideFlexformSettingsIfEmpty string Empty FlexForms should be overwritten by TypoScript all uid settings

Note*: only a check via browser is made for the optional required fields.

Note**: you need an own page for the unsubscription/edit! unsubscribeUid/editUid should be defined therefore.

Note***: this page is used too, if doubleOptOut=0. unsubscribeMessageUid is not used if doubleOptOut=0.

Note°: this works only at the unsubscription.

Note°°: comma separated list. E.g. 1,3. Without space. Required for external extensions!

Note°°°: the default value was changed from 0 to 1 in version 3.0.0 and even when L=0 0 will be added from version 3.0.0 to the email-templates when email.dontAppendL=0.

Property details / examples

Languages

You can overwrite the text for other languages like this (if preferXlfFile=0, else see last line):

[siteLanguage("languageId") == "1"]
plugin.tx_fpnewsletter.settings.company = Your company
plugin.tx_fpnewsletter.settings.gender.please = Please select your gender
plugin.tx_fpnewsletter.settings.gender.mr = Mr.
plugin.tx_fpnewsletter.settings.gender.mrs = Mrs.
plugin.tx_fpnewsletter.settings.email.senderMail = example@test.com
plugin.tx_fpnewsletter.settings.email.senderName = Sender-name
plugin.tx_fpnewsletter.settings.email.subscribeVerifySubject = Please verify your email
plugin.tx_fpnewsletter.settings.email.unsubscribeVerifySubject = Please verify your email
plugin.tx_fpnewsletter.settings.email.adminSubscribeSubject = New newsletter-subscription
plugin.tx_fpnewsletter.settings.email.adminUnsubscribeSubject = New newsletter-unsubscription
plugin.tx_fpnewsletter.settings.email.subscribedSubject = Newsletter-subscription confirmation
plugin.tx_fpnewsletter.settings.email.unsubscribedSubject = Newsletter-unsubscription confirmation
[END]
plugin.tx_fpnewsletter._LOCAL_LANG.default.email.pleaseVerify = Please verify your email-address by clicking here:
Copied!

Note: if you want to overwrite the text for the default language, remove this lines: [siteLanguage("languageId") == "1"] and [END].

If you enable the setting preferXlfFile, then you can overwrite the text (subject and salutation) like this:

plugin.tx_fpnewsletter._LOCAL_LANG.en.email.subscribedSubject = Your newsletter subscription is now confirmed
plugin.tx_fpnewsletter._LOCAL_LANG.de.email.subscribedSubject = Deine Newsletter-Anmeldung ist nun bestätigt
Copied!

Note: the default language of the email-templates is german if settings.email.dontAppendL=0! You find the english version in the files that end with 1.html. You should copy the files and modify the path to the templates via TypoScript. See chapter "Administrator manual". Otherwise set settings.email.dontAppendL=1. Note: till version 3.0.0, the default language is german even when settings.email.dontAppendL=1. From version 3.0.0, the email-templates without a appended number are using translated texts by default.

Deprecation-note: dontAppendL will be removed in version 8.0.0. Even all the templates with the ending 0 and 1.

External fields

You can set a default email-address which was submitted before. E.g. you have a form in the footer and the field-name is nlemail, then set the parameter like this:

plugin.tx_fpnewsletter.settings.parameters.email = nlemail
Copied!

That parameter will be read and the value of that parameter will be used as default email-address.

You can do the subscription via an form in an other extension too. E.g. you have an shop and at the end of the order the user wants to subscribe to the newsletter? Then put this extension under the shop extension an select the action "subscribe via external extension". Furthermore you must specify the POST-parameter, which are used in the other extension like this:

plugin.tx_fpnewsletter.settings.parameters.active = tx_myshop_pi1|newOrder|newsletter
plugin.tx_fpnewsletter.settings.parameters.email = tx_myshop_pi1|newOrder|email
Copied!

Only parameters of this format are possible. If they are there, a forward will be made to the action create.

Note:

If you have set the setting "[FE][cacheHash][enforceValidation] = 1", then you must add the parameter from above here: "[FE][cacheHash][excludedParameters]".

Captchas

You can use 3 different captcha methods. If you want to use the Google reCaptcha v3 you need to provide the website key and the secret key. If you want to use a mathematical captcha, you can use 1 or 2 digits. The maximum value for 2 digits is 19. Example:

plugin.tx_fpnewsletter.settings.mathCAPTCHA = 2
Copied!

You can even use an custom captcha like "Friendly Captcha". Read the chapter "Administrator" for more information.

Optional and required fields

Only email and gdpr are mandatory fields in the model. If you need more mandatory fields, you can make them only via TypoScript and the templates required. There are the following optional fields available: gender, title, firstname, lastname, address, zip, city, region, country, phone, mobile, fax, www, position, company. You can make all this fields required. Here an example to enable some of this fields in the subscription form via TypoScript setup:

plugin.tx_fpnewsletter.settings.optionalFields = gender,title,firstname,lastname,www,position,company
plugin.tx_fpnewsletter.settings.optionalFieldsRequired = firstname,lastname,company
Copied!

Using of categories

The table sys_category contains categories for mail. Use them like this:

plugin.tx_fpnewsletter.settings.categoryOrGroup = 1,3
Copied!

It will make two entires into sys_category_record_mm and it will set categories in tt_address (after the verification).

The categories are as hidden-field in the template. You could add checkboxes and copy the checked values by jQuery to the hidden-field if you need a more flexible solution.

Note: this setting is used for groups of fe_users too! If you use fe_users, here you can set the fe_groups. That works only with the extension Luxletter. If newsletterExtension=mail is set, user groups are ignored. Therefore only categories are used.

Note: if deleteMode=3 is set, only categories set in categoryOrGroup will be removed. And the flag mail_active will be set to 0, if newsletterExtension=mail is set.

Changing the labels

Like in every extension, you can change the labels and other messages via TypoScript. Here 2 examples:

plugin.tx_fpnewsletter._LOCAL_LANG.de.tx_fpnewsletter_domain_model_log.email = Email
plugin.tx_fpnewsletter._LOCAL_LANG.de.tx_fpnewsletter_domain_model_log.gdpr_desc2 = Ich bin damit einverstanden, dass die von mir angegebenen Daten elektronisch erhoben und gespeichert werden.
Copied!

You find the designations in the templates used in f:translate key. Note: _LOCAL_LANG.en. does´t work anymore. You need to use .default instead of .en for english text.

Required extensions

This extensions checks in the new action (subscription form) if required extensions are installed. settings.table can be empty, tt_address or fe_users. When it is tt_address, mail is required too, if you use settings.html or settings.categoryOrGroup. You can disable this check:

plugin.tx_fpnewslettersettings.checkForRequiredExtensions = 0
Copied!

Atention: if you select "other" at "used newsletter extension", then settings.html=-1 will be set, because its not clear, which html-fields other extensions have.

Full working example

Here an full example for luxletter and 2 languages:

plugin.tx_fpnewsletter.view.templateRootPaths.10 = EXT:example/Resources/Private/Ext/fp_newsletter/Templates/
plugin.tx_fpnewsletter.view.partialRootPaths.10 = EXT:example/Resources/Private/Ext/fp_newsletter/Partials/
plugin.tx_fpnewsletter.settings {
    table = fe_users
    optionalFields =
    doubleOptOut = 0
    enableUnsubscribeGdprAsHidden = 1
    honeypot = 1
    preferXlfFile = 1
    gdprUid = 1138
    subscribeUid = 1167
    unsubscribeUid = 1002
    subscribeVerifyUid = 1001
    categoryOrGroup = 19
    company = Ihre Online-Redaktion von „Test“
}
plugin.tx_fpnewsletter._LOCAL_LANG.de {
    subscribe = Absenden
    tx_fpnewsletter_domain_model_log.email = E-Mail-Adresse
    tx_fpnewsletter_domain_model_log.gdpr_desc1 = Ich habe die
    tx_fpnewsletter_domain_model_log.gdpr_link_text = Datenschutzerklärung
    tx_fpnewsletter_domain_model_log.gdpr_desc2 = zur Kenntnis genommen und bin damit einverstanden, dass meine Daten unter Beachtung der gesetzlichen Bestimmungen satzungsgemäß verwendet und automatisiert verarbeitet werden.
    unsubscribe_it = Newsletter abbestellen
    email_send1 = Vielen Dank für Ihr Interesse.<br>Eine Bestätigungs-E-Mail wurde Ihnen zugesandt.
    email_verified = Ihre E-Mail-Adresse wurde erfolgreich aufgenommen.
    email_removed = Sie haben sich erfolgreich von unserem Newsletter abgemeldet.
    email.pleaseVerify = Sie haben sich für unseren Newsletter angemeldet.
    email.pleaseVerify2 = Um die Anmeldung zu bestätigen, klicken Sie bitte auf folgenden Link:
    email.subscribeVerifySubject = Anmeldung zum Newsletter bei www.test.de
}
plugin.tx_fpnewsletter._LOCAL_LANG.default {
    subscribe = Send
    required = required
    tx_fpnewsletter_domain_model_log.email = E-mail address
    tx_fpnewsletter_domain_model_log.gdpr_desc1 = I have noted the
    tx_fpnewsletter_domain_model_log.gdpr_link_text = privacy policy
    tx_fpnewsletter_domain_model_log.gdpr_desc2 = and I agree that my data will be used in accordance with the statutory provisions and processed automatically.
    unsubscribe_it = Unsubscribe newsletter
    email_send1 = Thank you for your interest.<br>A confirmation email has been sent to you.
    email_verified = Your email address has been successfully added.
    email_removed = You have successfully unsubscribed from our newsletter.
    email.pleaseVerify = You've signed up for our newsletter.
    email.pleaseVerify2 = To confirm the registration, please click on the following link:
    email.subscribeVerifySubject = Registration for the newsletter at www.test.com
}
[siteLanguage("languageId") == 1]
    plugin.tx_fpnewsletter.settings.company = Your online editors of “Test”
[END]
Copied!

As you can see, you can even define own variables and use them. (Example from here: unsubscribe_it.)