2012-06-27 52 views
0

我試圖讓Mailchimp datasource from Springest正常工作,而且我遇到了問題。我不得不修改一些代碼來擺脫CakePHP錯誤。現在它沒有錯誤發生,但沒有實際的API對於Mailchimp的請求。如何獲得Spingest CakePHP數據源以使Mailchimp正常工作?

模型,數據源和控制器功能代碼與從Springest下載完全相同。

的代碼在我database.php中的文件是:在我的MacBook Pro

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

我在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'); 
?> 
+0

查看我的更新回答。 – vindia

回答

3

感謝您試用我們的Mailchimp數據源。其中一個問題可能是針對CakePHP 1.2+編寫的,自從2.0版本發佈以來,CakePHP中的很多內容都發生了變化。

請注意,我們仍然使用Cake 1.3和數據源,並且沒有任何錯誤經驗。

Did you check out 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陣列關鍵People而在它應該有鑰匙MailchimpSubscriber。由於$this->data中沒有帶該名稱的密鑰,因此MailchimpSubscriber模型將忽略保存操作。您需要更改提交表單,以便提交的數據具有正確的型號名稱作爲關鍵字。

另一個說明:你現在加載MailchimpSubscriber模型兩次。在控制器中第一次在$uses數組中,第二次在控制器動作中通過$this->loadModel()方法。我只會用後者。

+0

非常感謝回覆,vindia。我更新的文件沒有錯誤,但我的Mailchimp帳戶仍未註冊任何API調用。我將上傳視圖和控制器的代碼以幫助調試。我可能會犯新人的錯誤。 (我也有兩個注意事項: '未定義的屬性:MailchimpSubscriberSource :: $ startQuote' '未定義的屬性:MailchimpSubscriberSource :: $ endQuote' 但我相信這些實際上並不影響功能。) –

+0

我不知道這些通知的意思。這些變量沒有在數據源中使用,所以我不知道它們來自哪裏。我想他們不是錯誤的原因。請讓我看看你的視圖和控制器。當我用虛擬數據測試新版本(即預製'$ this-> data'數組而不是實際表單帖子)時,它工作正常:我從Mailchimp收到確認郵件。 – vindia

+0

優秀!謝謝您的幫助。我有一些像我在創建表單時所說的命名問題。現在它運作良好。非常感謝您的支持:) –