まず...私はこれに慣れていないので、我慢してください。
オブザーバーを使用してニュースレターにカスタム フィールドを追加するモジュールを作成しようとしています。
「newsletter_subscribers」テーブルに列を作成しました (mysql4-install-0.1.0.php)
$installer = $this;
$installer->startSetup();
$installer->run("
ALTER TABLE {$this->getTable('newsletter_subscriber')}
ADD (user_name VARCHAR(50) NOT NULL);
");
$installer->endSetup();
次に、オブザーバーのconfig.xmlを変更しました
<events>
<newsletter_subscriber_save_before>
<observers>
<My_Newsletter>
<type>model</type>
<class>Newsletter_Observer</class>
<method>newsletterSubscriberSaveBefore</method>
</My_Newsletter>
</observers>
</newsletter_subscriber_save_before>
</events>
次に、observer.phpを作成しました
class My_Newsletter_Model_Observer
{
public function newsletterSubscriberSaveBefore(Varien_Event_Observer $observer)
{
$subscriber = $observer->getEvent()->getSubscriber();
$name = Mage::app()->getRequest()->getParam('subscriber_name');
$subscriber->setSubscriberName($name);
return $this;
}
}
だから私の質問はです。私は何を取りこぼしたか?うまくいきません。私は何か重要なものを見逃していることを知っています。