supseven-at / mailchimp Goto Github PK
View Code? Open in Web Editor NEWMailchimp Integration in TYPO3 CMS
Mailchimp Integration in TYPO3 CMS
Will this Plugin be compatible with TYPO3 11?
Could you please add a way to use multiple API Keys in your extension ?
You could move the extensionmanager setting to a typoscript setting, then we could set the api-key for each domain individually.
Thanks,
Sicor DevTeam
I want to display only email fields in my subscription form. but when i use only email fields then getting response like below. if i use firstName lastName with email fields then it's working.
An error has occurred, we are sorry!
Any one help me ?
How can i remove this two fields in my in subscription form.
Thanks in advance :)
I try to add a Salutation Dropdown to my form.
Added the following code to the Template:
<select name="mergeField3">
<option selected disabled>Salutation</option>
<option>Mr</option>
<option>Mrs</option>
</select>
What to do now to handle that custom field in the EXT?
Saw the Handling of custom fields section in the manual but didn't know what to do with that.
Hello,
If FNAME or LNAME are NULL, there is an exception from Mailchimp API.
Thanks
Hello.
I'm trying to get this Mailchimp extension to work but ran into a Problem.
After installation there is no Configuration button visible in the extension manager to set the API-key and as a consequence the is an error message when i try the add the plugin to a Page:
"An error occurred trying to process items for field "Used API" (API key is missing)."
also tried setting the API-key it directly in the "ext_conf_template.txt" but still the same problem.
Need some help here .
Best regards,
Georg Marius
EDIT:
my bad, found the solution:
Seit v9 sind die im Modul "Settings" und dort im Punkt "Extension Configuration" zu finden.
"Settings" -> "Extension Configuration" -> there you can set these things now
I got an Error if i install it with Composer and Typo3 8.7
Problem 1 - Installation request for sup7even/mailchimp ^1.2 -> satisfiable by sup7even/mailchimp[1.2.0]. - sup7even/mailchimp 1.2.0 requires typo3/cms-core >=7.6.0,<8.3 -> no matching package found.
see 4297e3a
it would be nice having an update of the included Mailchimp-API to have the ability for passing the subscribers language to Mailchimp.
see: drewm/mailchimp-api@b04fa5f#diff-4658eb423d377d316ca4cdeb41f5c5da
after updating the API the subscribers language can be passed to Mailchimp by using this code within the MailchimpHook-class:
$params['data']['language'] = $GLOBALS['TSFE']->config['config']['language'];
I've just updated Typo3 to 8.7.9 and Mailchimp to version 3.0. An exception is triggered when I try to open any page that contains the plugin in the backend. Frontend output is OK and subscriptions are being done correctly.
This is the full exception report:
Uncaught TYPO3 Exception
#1513232660: For hash "" no API key found (More information)UnexpectedValueException thrown in file
/home/xxx/public_html/typo3conf/ext/mailchimp/Classes/Domain/Model/Dto/ExtensionConfiguration.php in line 82.21 Sup7even\Mailchimp\Domain\Model\Dto\ExtensionConfiguration::getApiKeyConfiguration(NULL)
/home/xxx/public_html/typo3conf/ext/mailchimp/Classes/Domain/Model/Dto/ExtensionConfiguration.php:
00069: public function getApiKeyLabel($hash)
00070: {
00071: $settings = $this->getApiKeyConfiguration($hash);
00072: return $settings['label'];
00073: }20 Sup7even\Mailchimp\Domain\Model\Dto\ExtensionConfiguration::getApiKeyLabel(NULL)
/home/xxx/public_html/typo3conf/ext/mailchimp/Classes/Hooks/Backend/PageLayoutViewHook.php:
00064: $this->tableData[] = [
00065: $this->getLabel('flexform.apiKey'),
00066: $this->extensionConfiguration->getApiKeyLabel($apiKeyHash)
00067: ];
00068: }19 Sup7even\Mailchimp\Hooks\Backend\PageLayoutViewHook::getApiKey()
/home/xxx/public_html/typo3conf/ext/mailchimp/Classes/Hooks/Backend/PageLayoutViewHook.php:
00049: $result = '' . htmlspecialchars($this->getLanguageService()->sL(self::LLPATH . 'plugin.title')) . '
';
00050:
00051: $this->getApiKey();
00052: $this->getListInformation();
00053: $this->getInterestGroupInformation();18 Sup7even\Mailchimp\Hooks\Backend\PageLayoutViewHook::getExtensionSummary(array, TYPO3\CMS\Backend\View\PageLayoutView)
17 call_user_func_array(array, array)/home/xxx/vendor/typo3/cms/typo3/sysext/core/Classes/Utility/GeneralUtility.php:
03779: }
03780: // Call method:
03781: $content = call_user_func_array([&$classObj, $parts[1]], [&$params, &$ref]);
03782: } else {
03783: $errorMsg = 'No method name '' . $parts[1] . '' in class ' . $parts[0];16 TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction("Sup7even\Mailchimp\Hooks\Backend\PageLayoutViewHook->getExtensionSummary", array, TYPO3\CMS\Backend\View\PageLayoutView)
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/View/PageLayoutView.php:
01831: $_params = ['pObj' => &$this, 'row' => $row, 'infoArr' => $infoArr];
01832: foreach ($hookArr as $_funcRef) {
01833: $hookOut .= GeneralUtility::callUserFunction($_funcRef, $_params, $this);
01834: }
01835: }15 TYPO3\CMS\Backend\View\PageLayoutView::tt_content_drawItem(array)
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/View/PageLayoutView.php:
00635: );
00636: $innerContent = '<div ' . ($row['_ORIG_uid'] ? ' class="ver-element"' : '') . '>'
00637: . $this->tt_content_drawItem($row) . '';
00638: $singleElementHTML .= '' . $innerContent . '
'
00639: . $this->tt_content_drawFooter($row);
14 TYPO3\CMS\Backend\View\PageLayoutView::getTable_tt_content(47)/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/View/PageLayoutView.php:
00256: break;
00257: case 'tt_content':
00258: return $this->getTable_tt_content($id);
00259: break;
00260: default:13 TYPO3\CMS\Backend\View\PageLayoutView::getTable("tt_content", 47, "")
/home/xxx/vendor/typo3/cms/typo3/sysext/recordlist/Classes/RecordList/AbstractDatabaseRecordList.php:
00534:
00535: // Finally, render the list:
00536: $this->HTMLcode .= $this->getTable($tableName, $this->id, implode(',', $fields));
00537: }
00538: }12 TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRecordList::generateList()
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/Controller/PageLayoutController.php:
00954: $dbList->HTMLcode .= $this->moduleTemplate->getVersionSelector($this->id);
00955: // Generate the list of elements here:
00956: $dbList->generateList();
00957: // Adding the list content to the tableOutput variable:
00958: $tableOutput[$table] = $h_func . $dbList->HTMLcode . $h_func_b;11 TYPO3\CMS\Backend\Controller\PageLayoutController::renderContent()
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/Controller/PageLayoutController.php:
00818: $content .= '' . htmlspecialchars($this->getLocalizedPageTitle()) . '
';
00819: // All other listings
00820: $content .= $this->renderContent();
00821: }
00822: $content .= '';
10 TYPO3\CMS\Backend\Controller\PageLayoutController::main()/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/Controller/PageLayoutController.php:
00736: $this->init();
00737: $this->clearCache();
00738: $this->main();
00739: $response->getBody()->write($this->moduleTemplate->renderContent());
00740: return $response;9 TYPO3\CMS\Backend\Controller\PageLayoutController::mainAction(TYPO3\CMS\Core\Http\ServerRequest, TYPO3\CMS\Core\Http\Response)
8 call_user_func_array(array, array)/home/xxx/vendor/typo3/cms/typo3/sysext/core/Classes/Http/Dispatcher.php:
00039: $targetIdentifier = $request->getAttribute('target');
00040: $target = $this->getCallableFromTarget($targetIdentifier);
00041: return call_user_func_array($target, [$request, $response]);
00042: }
00043:7 TYPO3\CMS\Core\Http\Dispatcher::dispatch(TYPO3\CMS\Core\Http\ServerRequest, TYPO3\CMS\Core\Http\Response)
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php:
00167: $dispatcher = GeneralUtility::makeInstance(Dispatcher::class);
00168: $this->request = $this->request->withAttribute('target', $moduleConfiguration['routeTarget']);
00169: $response = $dispatcher->dispatch($this->request, $response);
00170: } else {
00171: // extbase module6 TYPO3\CMS\Backend\Http\BackendModuleRequestHandler::dispatchModule("web_layout")
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php:
00087:
00088: $moduleName = (string)$this->request->getQueryParams()['M'];
00089: return $this->dispatchModule($moduleName);
00090: }
00091:5 TYPO3\CMS\Backend\Http\BackendModuleRequestHandler::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)
/home/xxx/vendor/typo3/cms/typo3/sysext/core/Classes/Core/Bootstrap.php:
00313:
00314: // Execute the command which returns a Response object or NULL
00315: $this->response = $requestHandler->handleRequest($request);
00316: return $this;
00317: }4 TYPO3\CMS\Core\Core\Bootstrap::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Classes/Http/Application.php:
00090: }
00091:
00092: $this->bootstrap->handleRequest($this->request);
00093:
00094: if ($execute !== null) {3 TYPO3\CMS\Backend\Http\Application::run()
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Resources/Private/Php/backend.php:
00022: $classLoader = require DIR . '/../../../../../../vendor/autoload.php';
00023:
00024: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run();
00025: });2 {closure}()
/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Resources/Private/Php/backend.php:
00023:
00024: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run();
00025: });1 require("/home/xxx/vendor/typo3/cms/typo3/sysext/backend/Resources/Private/Php/backend.php")
/home/xxx/vendor/typo3/cms/typo3/index.php:
00001: <?php
00002:
00003: require DIR . '/sysext/backend/Resources/Private/Php/backend.php';
Whenever I want to place the mailchimp content element I encounter the following issue on all "parent pages" and the page itself:
Fatal error: Uncaught TYPO3Fluid\Fluid\Core\ViewHelper\Exception: No Content Object definition found at TypoScript object path "tt_content.list.20." in /var/www/vhosts/ebds.online/httpdocs/public/typo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php:161 Stack trace: #0 /var/www/vhosts/ebds.online/httpdocs/var/cache/code/fluid_template/Standard_action_List_e902fe832de5110b926f837b757b3c0e671b738c.php(76): TYPO3\CMS\Fluid\ViewHelpers\CObjectViewHelper::renderStatic(Array, Object(Closure), Object(TYPO3\CMS\Fluid\Core\Rendering\RenderingContext)) #1 /var/www/vhosts/ebds.online/httpdocs/vendor/typo3fluid/fluid/src/View/AbstractTemplateView.php(260): Standard_action_List_e902fe832de5110b926f837b757b3c0e671b738c->section_62bce9422ff2d14f69ab80a154510232fc8a9afd(Object(TYPO3\CMS\Fluid\Core\Rendering\RenderingContext)) #2 /var/www/vhosts/ebds.online/httpdocs/vendor/typo3fluid/fluid/src/ViewHelpers/RenderViewHelper.php(143): TYPO3Fluid\Fluid\View\AbstractTemplateView->renderSection('Main', Array, true) #3 /var/www/vhosts/ebd in /var/www/vhosts/ebds.online/httpdocs/public/typo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php on line 161
I have no clue what the problem might be.
I submitted a PR to improve the handling of signups. More details in the pull request itself.
Basically we saw that when someone attempted signup but didn't finish by confirming in the mail, because the mail was not delivered for some reason, it would be impossible for that e-mail to get on the list through this extension on a later attempt.
After chatting with MailChimp tech support and reading up on their docs, the solution was to either do a PUT request on the first signup attempt, or catch the "existing membership" when doing the POST and then do a PUT request.
Since a PUT request will also change subscribed to pending for an existing user the best solution is to do a POST request, catch the "error", do a GET request for the current status of the mail (the POST does not provide this information) and if that status is not "subscribed" then do the PUT request to set the user to pending. When that happens, MailChimp will automatically send the confirmation mail again. This 3-step routine prevents an existing user from changing from "subscribed" to "pending" and we will still output the "you are already signed up" message.
If the user is not on the list in any way, only one POST request is sent and that one will of course also trigger the confirmation mail.
Hope to see this merged soon :)
when will the new version come in to the TER ?
Is there a possibility to use the plugin to sign out of a mailchimp newsletter list, too - through submitting a registered email address, for example?
Maybe I have overseen it, but a quick look at the manual did not show anything; and I know, there are sunsubscribe-links in every mail/newsletter, but customers are lazy.. ;)
I keep on getting this error:
Oops, an error occurred!
Could not analyse class:TYPO3\CMS\Fluid\ViewHelpers\SpacelessViewHelper maybe not loaded or no autoloader?
Thanks
It seems this is not processed as expected if I insert this into my constants.typoscript.
plugin.tx_mailchimp {
view {
templateRootPaths {
0 = EXT:mailchimp/Resources/Private/Templates/
1 = EXT:<my-extkey>/Resources/Private/Templates/MailChimp/Form/
}
partialRootPaths {
0 = EXT:mailchimp/Resources/Private/Partials/
1 = EXT:<my-extkey>/Resources/Private/Partials//MailChimp/
}
layoutRootPaths {
0 = EXT:mailchimp/Resources/Private/Layouts/
1 = EXT:<my-extkey>/Resources/Private/Layouts//MailChimp/
}
}
}
Other extensions use:
view.templateRootPath =
view.partialRootPath =
view.layoutRootPath =
plx
Hi, I installed the latest extension and set the apikey, listId and interestId in the plugin options section but when I submit a form I get an error complaining that listId is not a string. I added an f:debug of $this->settings and I get an empty array.
Installed the extension via composer and running typo3 10.4
Thanks in advance for any advice. Not sure if I missed some configuration.
Hi,
will mailchimp be available for TYPO3 10 some day?
Thanks you.
Cheers
Christian
tried to install the latest version on a TYPO3 system. That is not working and giving an error
Call to a member function getPackagePath() on null
So is the extension not ready for T9.5 ?
hi, can you start a T3 Ver12 Update?
I have done all necessary requirement like API Key create, Audience Create, Group create but in typo3 backend there are nothing display of list box and Interests box, Typo3 9.5.13, Mailchimp 3.1.0
@georgringer
Hi Georg
We have an existing in-house MailChimp extension where you can select subscribe to multiple lists from one form.
Would you be interested in this functionality in EXT:mailchimp? If so we might want to make the changes and make pull-request.
Int that case, there might be some considerations to make regarding the Plugin Flexforms.
Any plan for version 9 support?
Thanks in advance :)
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.