2011-12-29 5 views
0

誰もがこれを助けることができますか?1ページのチェックアウト中にカスタム属性フィールドがDBに保存されないMagento 1.6?

2つのカスタムフィールドを持つ新しいモジュールを作成しましたが、すべてが正常に動作しているようです。フィールドの1つが1ページのチェックアウトプロセスでデータベースに保存されないということを受け入れますか?

私は登録ページ(register.phtml)からデータを入力し、編集アカウントページ(edit.phtml)でデータを編集できます。これはすべてdb okに保存されます。

フィールドの1つは、モデル/エンティティからオプションを取得する選択フィールドです。このフィールドは保存されますが、両方のフィールドはconfig.xmlファイルに同じエントリがあります。

私はbilling.phtmlも

<?php if(!$this->isCustomerLoggedIn()): ?> 
    <li>  
    <label for="billing:childname" class="required"><em>*</em> 
    <?php echo $this->__('Childs Name') ?> 
    </label> 
    <div class="input-box"> 
    <input type="text" name="billing[childname]" id="billing:childname" 
    value="<?php echo $this->htmlEscape($this->getQuote()->getCustomerChildname()) ?>" 
    title="<?php echo $this->__('Childs Name') ?>" 
    class="input-text validate-text required-entry" /> 
    </div> 
    </li> 

に入力の様々なバージョンを試してみました:値= "?htmlEscape(の$ this - > getCustomer() - > getChildname())>"

しかし、私が試してみるものは何も何の問題も起こっていないと思っています。

感謝DBであなたの「childname」属性を保存するために

+0

あなたが請求先住所の一部として属性を保存しようとしているが、あなたは顧客オブジェクトに属すると属性を参照しているように見えます。それはアドレス属性ですか、それとも顧客属性ですか? –

+0

@JoeConstant、返信が遅れて申し訳ありませんが、私はそれをentity_type_id = 1の顧客属性として保存しようとしていますか?ありがとう – Ledgemonkey

答えて

1

は、我々は最初の「sales_flat_quote」テーブルでこの値を保存する必要があります。

DBにフィールドを保存する手順を実行してください。

手順1:sales_flat_quoteに新しい列を追加するには、以下のクエリを実行します。

ALTER TABLE `sales_flat_quote` ADD `customer_childname` INT NOT NULL 

は、ステップ2:は、今すぐあなたのモジュール​​3210ファイルを後藤あなたは自分のモジュールを持っていないならば、他のモジュールに貼り付けて、グローバルブロックにfieldsetsコードの下に貼り付けます。

<global> 
    //..................... 
    <fieldsets> 
     <checkout_onepage_quote> 
     <customer_childname> 
      <to_customer>childname</to_customer> 
     </customer_childname> 
     </checkout_onepage_quote> 
     <customer_account> 
      <childname> 
       <to_quote>customer_childname</to_quote> 
      </childname> 
     </customer_account>  
     </fieldsets> 
     //...................... 
</global> 

今それをチェック:)

+0

その答えはあなたのために働いていますか? – Charlie

関連する問題