自定义属性字段在一次结帐过程中没有保存到数据库Magento 1.6?

问题描述:

任何人都可以帮忙吗?自定义属性字段在一次结帐过程中没有保存到数据库Magento 1.6?

我创建了一个带有2个自定义字段的新模块,它们似乎都工作正常接受其中一个字段不会通过onepage签出过程保存到数据库?

我可以通过注册页面(register.phtml)输入数据,并通过编辑帐户页面(edit.phtml)编辑数据,这一切都保存到数据库正常。

其中一个字段是从模型/实体获取选项的选择字段此字段可以保存正常,两个字段在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($这个 - > GETCUSTOMER() - > getChildname())>”

但我没有尝试似乎工作任何想法什么螨会出错?

非常感谢

+0

它看起来像你正试图将属性保存为帐单地址的一部分,但你是指属性为属于客户对象。它是地址属性还是客户属性? – 2011-12-30 00:44:51

+0

@JoeConstant,对于延迟回复抱歉,我试图将其保存为客户属性它有一个entity_type_id = 1?谢谢 – Ledgemonkey 2011-12-30 07:56:18

为了节省您的DB“childname”属性,我们需要先保存在“sales_flat_quote”表此值。

请按照以下步骤将字段保存在数据库中。

Step1:通过运行以下查询在sales_flat_quote中添加新列。

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

第二步:现在跳转到你模块​​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 2015-09-15 12:32:01