MailChimp API&;添加隐藏字段的AJAX
我目前在我们网站的页脚有一个简单的普通新闻稿订阅表单,只有一个电子邮件文本字段。我们想知道订阅者填写表格的语言版本。(domain.com/nl/.de/.it等) 我添加了一个隐藏字段,用于获取当前语言的值MailChimp API&;添加隐藏字段的AJAX,ajax,forms,mailchimp,hidden-field,Ajax,Forms,Mailchimp,Hidden Field,我目前在我们网站的页脚有一个简单的普通新闻稿订阅表单,只有一个电子邮件文本字段。我们想知道订阅者填写表格的语言版本。(domain.com/nl/.de/.it等) 我添加了一个隐藏字段,用于获取当前语言的值 <li> <label for="footer-newsletter-input"><?php __("nav.newsletter.youremail"); ?></label> <input type="te
<li>
<label for="footer-newsletter-input"><?php __("nav.newsletter.youremail"); ?></label>
<input type="text" id="footer-newsletter-input" class="font-MuseoSans100 validate" data-validationtype="email">
</li>
<li class="hidden">
<input type="text" id="footer-newsletter-input-language" class="font-MuseoSans100" value="<?php echo isset(Language::$short) ? Language::$short : 'en'; ?>">
</li>
您需要在表单字段中添加一个
name
参数。所以可能会变成这样:
<input type="text" id="footer-newsletter-input-language" name="language" class="font-MuseoSans100" value="<?php echo isset(Language::$short) ? Language::$short : 'en'; ?>">
您必须确保在mailchimp中为该列表创建一个名为CNTRCODE的合并字段。有什么问题吗?我不知道如何使用id=“footer newsletter input language”将输入值发送给mailchimp。我想我需要在initNewsletter:function()中声明该值,并将其与Ajax post一起发送。(我在我认为需要添加的地方添加了???),然后需要更新控制器以包含merge_vars=>('CNTRCODE'=>$\u POST['CNTRCODE']),添加了行,但似乎不起作用。我想我还需要在initNewsletter:function()中添加语言来声明并发送它。你说的“似乎不起作用”是什么意思?用户是否已被订阅?CNTRCODE丢失?您看过原始请求/响应了吗?
public function subscribe() {
// API KEY
$apikey = '????';
$listid = '????';
$MailChimp = new MailChimp($apikey);
$result = $MailChimp->call('lists/subscribe', array(
'id' => $listid,
'email' => array('email'=>$_POST['email']),
//'merge_vars' => array('FNAME'=>$_POST['fname'], 'LNAME'=>$_POST['lname']),
'double_optin' => true,
'update_existing' => true,
'replace_interests' => false,
'send_welcome' => false,
));
echo json_encode($result);
}
<input type="text" id="footer-newsletter-input-language" name="language" class="font-MuseoSans100" value="<?php echo isset(Language::$short) ? Language::$short : 'en'; ?>">
$result = $MailChimp->call('lists/subscribe', array(
'id' => $listid,
'email' => array('email'=>$_POST['email']),
'merge_vars' => array('CNTRCODE'=>$_POST['language']),
'double_optin' => true,
'update_existing' => true,
'replace_interests' => false,
'send_welcome' => false,
));