如何让Mailchimp的Springest CakePHP数据源工作?

时间:2012-06-27 12:12:50

标签: cakephp mailchimp

我正试图让Mailchimp datasource from Springest正常工作,而且我遇到了问题。我不得不修改一些代码来摆脱CakePHP错误。现在它没有错误,但没有向Mailchimp发出实际的API请求。

模型,数据源和控制器功能代码与Springest下载完全相同。

我的database.php文件中的代码是:

public $mailchimp = array(
    'datasource' => 'MailchimpSubscriber',
    'apiKey' => '<my mailchimp API key>',
    'defaultListId' => '<my list identifier>',
    'baseUrl' => 'http://us1.api.mailchimp.com/1.2/'
);

我在Macbook Pro上的XAMPP上运行CakePHP 2.1.0。

有人有任何线索吗?

== UPDATE ==

我在这里上传了一个精简控制器:https://gist.github.com/3011716

以下是我的观点代码:

<h2>Subscribe to Mailchimp</h2>
<?php
    echo $this->Form->create('People', array('action' => 'subscribe'));

    echo $this->Form->input('id');
    echo $this->Form->input('emailaddress');
    echo $this->Form->input('FNAME');
    echo $this->Form->input('LNAME');
    echo $this->Form->input('GENDER');

    echo $this->Form->end('Submit');
?>

1 个答案:

答案 0 :(得分:3)

感谢您试用我们的Mailchimp数据源。其中一个问题可能是为CakePHP 1.2+编写的,自2.0版本以来,CakePHP中的许多内容都发生了变化。

请注意,我们仍然将Cake 1.3与数据源一起使用,并且不会遇到任何错误。

你看过migration guide from CakePHP 1.3 to 2.0了吗?在底部,有些人提到对DataSources所做的更改,因此错误可能与此有关。

我们会尝试在Cake 2.0中进行旋转,看看出了什么问题,但与此同时,这可能会有所帮助。

<强> == UPDATE ==

是的,CakePHP 2.0不兼容。我已移植数据源以支持CakePHP 2.0,请检查the updated repository

==第二次更新==

您在视图中出现了一个错误:因为您已使用$this->Form->create('People', array('action' => 'subscribe'));创建了表单,因此表单的数据将位于$this->data数组中,其中包含键{{1}它应该有键People。因为MailchimpSubscriber中没有具有该名称的密钥,MailchimpSubscriber模型将忽略保存操作。您需要更改提交表单,以便提交的数据具有正确的型号名称作为密钥。

另一个注意事项:您现在正在加载$this->data模型两次。第一次在控制器中的MailchimpSubscriber数组中,第二次通过控制器操作中的$uses方法。我只会使用后者。