2013-05-30 101 views
1

我正在向模板customer/form/edit.phtml添加一個字段。我用這個代碼:將字段添加到Magento中的編輯帳戶表單

<li> 
    <?php 
     $attribute = Mage::getModel('eav/config')->getAttribute('customer','code_magique'); 
    ?> 
    <label for="code_magique" class="<?php if($attribute->getIsRequired() == true){?>required<?php } ?>"><?php if($attribute->getIsRequired() == true){?><em>*</em><?php } ?><?php echo $this->__('Code') ?></label> 
    <div class="input-box"> 
     <input type="text" name="code_magique" id="code_magique" value="<?php echo $this->htmlEscape($this->getCustomer()->getData("code_magique")) ?>" title="<?php echo $this->__('Code') ?>" class="input-text" />     
    </div> 
</li> 

這顯示的字段與我「code_magique」屬性中,但是當我試圖修改此屬性,它不工作,我有沒有忘了什麼東西?

+0

magento帳戶儀表板的哪一部分是您添加此輸入? – srgb

+0

「帳戶信息」一個 – user2323222

回答

1

我做了一個快速瀏覽一下AccountController.php,似乎有表單數據的一些後處理,而不是簡單的$model->addData($post);

嘗試鉤住customer_save_before事件和手動添加數據。

希望您知道如何創建anobserver並將數據添加到模型對象?

+0

我知道如何創建一個觀察者。爲了獲得輸入數據,我需要重寫AccountController的editPostAction()方法?如果你能幫助我這部分,那就太好了。< 無論如何,謝謝你的回答。 – user2323222

+0

不,你不知道。你只需在'customer_save_before'上創建一個觀察者,收集數據模型(觀察者的標準函數)並執行諸如'$ model-> setData('my_stuff',Mage :: app() - > getRequest() - > getParam (「my_stuff」))'就是這樣 – srgb

+0

非常感謝!這工作得很好:) – user2323222

相關問題