2017-03-27 7 views
0

Magentoデベロッパーにとって私の質問はおかしくないかもしれませんが、私は非常に新しいです。私は、プロモーションコードを取得するためにユーザーを登録するよう促しているので、オファータイプと呼ばれるニュースレターサブスクリプションに新しい入力フィールドを追加しました。Magentoデータベースで作成した新しいフィールドに値を挿入する

私は次の行にで

$offer = (string) $this->getRequest()->getPost('couponName'); 
$status = Mage::getModel('newsletter/subscriber')->subscribe($email,$offer); 

を加え、静的ページに隠された入力型アプリケーション/コード/コア/メイジ/レター/コントローラ/ SubscriberController.phpで

<input placeholder="email: [email protected]" class="email-offer-revealer" name="email" required="" autocapitalize="off" autocorrect="off" spellcheck="false" type="email"> 
<input name="couponName" value="first offer" type="hidden"> 

を添加app/code/core/Mage/Newsletter/Model/Subscriber.php次を追加しました

public function subscribe($email, $offer){ 

$が新しいarg DB内のニュースレターテーブルのオファーフィールドに挿入される。 私は問題は、私はその値をエコーすることができますが、私はにそれを挿入することはできませんので、私は同じ方法

$this->setOffer($offer); 

ために、次を追加しましたMagentoのは私にgetOfferとsetOfferに自動的にアクセスを与えることを言われてきましたデータベースのみ私は次に何が電子メールを挿入できますか?

おかげ

+1

newsletter_subscriberテーブルに新しいフィールドオファーを追加しました – faizanbeg

+0

はい私はしましたが、私はofferというvarcharフィールドを追加しました。そのためsetOfferとgetOfferがコードに追加されています –

+1

ただし、あなたはエクステンションでそれらを書き直すか、ローカル/ mage /にコピーする必要があります。 –

答えて

1

あなたがモデルで、いくつかの値を更新すると、データベースに新しい値を入れて保存呼び出そうとすることができます。

ような何か:

$ quote-> setCouponCode();

$ quote-> save();

+0

これは私がまだ試していない唯一のオプションですので、試してみてください、とにかくありがとうございます –

+0

それは動作します!ありがとうございます$ this-> save(); $ this-> setOffer($ offer)の後に。チャームのように働いた –

関連する問題