linawolf / form_double_opt_in Goto Github PK
View Code? Open in Web Editor NEWTYPO3 Extension adding Double Opt-In to the TYPO3 CMS Form Framework
TYPO3 Extension adding Double Opt-In to the TYPO3 CMS Form Framework
Hello,
with TYPO3 and form both version 10.4.36 and form_double_opt_in 3.0.0 i get following error:
Core: Exception handler (WEB): Uncaught TYPO3 Exception: Too few arguments to function TYPO3\CMS\Form\Domain\Finishers\EmailFinisher::getRecipients(), 1 passed in /usr/../typo3conf/ext/form_double_opt_in/Classes/Domain/Finishers/DoubleOptInFormFinisher.php on line 162 and at least 2 expected | ArgumentCountError thrown in file /usr/../typo3/sysext/form/Classes/Domain/Finishers/EmailFinisher.php in line 335. Requested URL: https:/xxxxxx.de/testform?tx_form_formframework%%5Baction%%5D=perform&tx_form_formframework%%5Bcontroller%%5D=FormFrontend&cHash=7c922fc6ac81df12c8d566a25661a865
setup.txt
and constants.txt
are deprecated since a long time. Please use .typoscript
file extension. Same applies for ext_typoscript_setup.txt
With TYPO3 8.7 I get error messages like Medienreaktor\FormDoubleoptin\Controller\FormDoubleOptInController is not found
. They disappeared after renaming the class path from FormDoubleOptIn
to FormDoubleoptin
in all files. The naming conventions in Extbase are IMHO that the extension directory is changed to CamelCase: form_doubleoptin
-> FormDoubleoptin
.
Had to add f:format.raw tags around the uri builder because fluid automatically escapes inline rendered variables, could also just add {escaping off}
to beginning of email templates.
Here was my solution:
<f:format.raw>{f:uri.action(pageUid: validationPid, extensionName: 'formdoubleoptin', pluginName: 'doubleoptin', controller: 'DoubleOptIn', action: 'validation', absolute: 1, arguments: {hash: optIn.validationHash})}</f:format.raw>
I'm using version 1.1.2
with TYPO3 version 9.5.28
and try to override some extension settings:
plugin.tx_formdoubleoptin_doubleoptin {
view {
templateRootPaths.10 = EXT:my-new-path/Resources/Private/Templates
partialRootPaths.10 = EXT:my-new-path/Resources/Private/Partials
layoutRootPaths.10 = EXT:my-new-path/Resources/Private/Layouts
}
persistence {
storagePid = {$plugin.tx_formdoubleoptin_doubleoptin.persistence.storagePid}
}
settings {
}
_LOCAL_LANG {
default {
email.text = Some new text for default language.
}
}
_LOCAL_LANG {
de {
email.text = Ein wenig neuer Text für deutsch.
}
}
}
Both, template location and language strings are not working.
The mapping currently doesn't not point to the constant, I made the following change in setup.typoscript:
storagePid = {$plugin.tx_formdoubleoptin_doubleoptin.settings.storagePid}
Would like to use that plugin for TYPO3 v10 website.
Hey,
I've found your cool extension in TER but was first disappointed that it's only supported for TYPO3 v8 and v9.
See: https://extensions.typo3.org/extension/form_doubleoptin
Then I saw that you released some versions with support of TYPO3 v10 and my question is why you're not releasing it in TYPO3 Extension Repository?
Hi!
Do you have any plans on making your extension v12 compatible?
I can set the recipient in the finisher, but unfortunately I do not receive an e-mail with the form data after successful confirmation. Any Ideas?
For data privacy issues it may be good to not have any personal data in the TYPO3 database.
So, it would be very cool to set a flag (in finisher or globally) to delete the records after validation.
Publish the newsest versions to TER please. Currently the extension only seems to be compatible up to TYPO3 v9: https://extensions.typo3.org/extension/form_doubleoptin If you don't want to do that manually each you can introduce a GitHub Action for that
Hi,
there is a notification on composer actions:
The TYPO3 extension package "medienreaktor/form_double_opt_in", does not define an extension key in its composer.json. Please report this to the author of this package. Specifying the extension key will be mandatory in future versions of TYPO3 (see: https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ExtensionArchitecture/ComposerJson/Index.html#extra)
Hi,
is it planned to releases a version for TYPO3 11?
(and maybe integrate the features from the open pull-request, too?)
Thank you
Right now you don't know when a double opt-in was successfully completed other than checking the TYPO3 BE.
So, if someone would register for a newsletter you would have to check the TYPO3 BE for new entries.
It would be great to have an option which sends automatically an email to an in-house user/employee whenever a double opt-in was successfully completed.
There is an open pull request which already seems to have this feature integrated. Maybe it's possible to merge this into the extension?
Hey everone,
after 32822bb the event was dropped and is not called via dispatcher anymore.
PR will follow.
Regards,
Tim
I suggest to use a different database table as a persistence target, as usually an integrator wants to use this sort of extension for e.g. a newsletter system and these are usually using fe_users
or tt_address
. Maybe it should just be sort of configurable?
Thank you for this TYPO3 extension!
Please connect your github account with packagist in order to auto-update the package.
Use Case:
You have multiple opt-in forms and based on the form, the validation text should be different/customized.
So, I wanted to use the layout field {data.layout}
in the Validation.html
template to change the text and created another option for the {layout}
field.
<f:if condition="{success}">
<f:then>
<f:if condition="{data.layout} == 20">
<f:then>
<f:comment><!-- customizations --></f:comment>
<h2>Custom Headline</h2>
<p>Custom text</p>
</f:then>
<f:else>
<f:comment><!-- Default --></f:comment>
<h2><f:translate key="LLL:EXT:form_double_opt_in/Resources/Private/Language/locallang.xlf:text.success.title" /></h2>
<p><f:translate key="LLL:EXT:form_double_opt_in/Resources/Private/Language/locallang.xlf:text.success" /></p>
</f:else>
</f:if>
</f:then>
<f:else>
<h2><f:translate key="LLL:EXT:form_double_opt_in/Resources/Private/Language/locallang.xlf:text.error.title" /></h2>
<p><f:translate key="LLL:EXT:form_double_opt_in/Resources/Private/Language/locallang.xlf:text.error" /></p>
</f:else>
</f:if>
But it seems that {data}
is not available in the template
array(3 items)
settings => array(empty)
success => FALSE
validated => FALSE
Is it possible to make {data}
available in this context?
I added the following email in the constants.typoscript
plugin.tx_formdoubleoptin_doubleoptin {
settings {
notificationMailReceiverMail = [email protected]
}
}
but there was no email sent to this address, once the double opt-in registration process has finished.
Furthermore I don't think that this setting as any effect at all. Is that possible? (I tested it with various emails to see if the email will get a notification).
In the constant settings this field is marked as mendatory.
The only way I could get an email sent after the double opt-in process has finished was via the settings in the form.
If I leave the constant unused/empty, no email will be sent but as the field is mendatory I would have expected an error or a warning in the form settings?
I'm using https://github.com/helhum/typo3-secure-web, therefor my extension icon is not displayed in the extension manager as it is not publicly accessible. Please move it into the Public folder like described here: https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/8.3/Feature-77349-AdditionalLocationsForExtensionIcons.html
Hello,
I am not able to install extension. I get error:
Oops, an error occurred!
Class Medienreaktor\FormDoubleoptin\Controller\DoubleOptInController does not exist. Reflection failed.
All caches and autoload were cleared. Also class can be found in autoload_classmap.php
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.