2012-08-13 90 views
0

我已經能夠添加一個名爲的銀行名稱的自定義字段到信用卡付款選項保存到數據庫,但我現在試圖顯示這些信息位於客戶>管理客戶>(選擇客戶)>訂單>(選擇訂單)下的後端,並且有一個名爲付款信息的字段,顯示信用卡付款信息,這是我想要銀行名稱出現。Magento:如何添加訂單/付款信息到Admin-BackEnd

我已經嘗試編輯下列文件沒有成功。

app \ design \ adminhtml \ default \ default \ template \ payment \ form \ cc.phtml和ccsave.phtml添加以下內容。

<div class="input-box"> 
     <label for="<?php echo $_code ?>_cc_bankname><?php echo Mage::helper('payment')->__('Bank Name') ?> <span class="required">*</span></label><br/> 
     <input type="text" id="<?php echo $_code ?>_cc_bankname" name="payment[cc_bankname]" title="<?php echo Mage::helper('payment')->__('Bank Name') ?>" class="input-text validate-cc-number" value="<?php echo $this->getInfoData('cc_bankname')?>"/> 
    </div> 

但這隻能啓用該選項來在爲客戶手動創建新訂單時編輯屬性。

有誰知道應該編輯哪個文件?我試圖在add/design/adminhtml和法師下編輯cc.phtml和ccsave.phtml文件,但沒有運氣。

忘了提I'm與Magento的工作1.7

::::::::::::::::編輯::::::::::::::: :

經過付款文件的進一步搜索,我發現有兩個文件需要編輯,但我仍然需要一些幫助。

我通過在文件中添加了兩個函數來添加\ app \ code \ local \ Mage \ Payment \ Block \ Info \ cc.phtml。

一是公共職能

public function getCcBankname() 
{ 
    return $this->getInfo()->getCcBankname(); 
} 

然後保護功能

if ($this->getInfo()->getCcBankname()) { 
     $data[Mage::helper('payment')->__('Bank Name')] = $this->getInfo()->getCcBankname(); 
    } 

然後我編輯了以下文件\程序\代碼\本地\法師\付款方式\塊\信息\ ccsave.phtml通過添加這個。

$transport = new Varien_Object(array(Mage::helper('payment')->__('Bank Name') => $info->getCcBankname(),)); 

現在這個修改允許的銀行名稱出現在後端正是我想要的,但問題是,它不填充that's對數據庫存儲數據。

任何人都知道爲什麼它不從數據庫中提取數據?

::::::::::::::::編輯#2 ::::::::::::::::

那麼它似乎一切我做工作,但只有一個小問題。銀行名稱數據應設置在兩個不同的表格中。 sales_flat_order_payment和sales_flat_quote_payment,但由於某些原因,數據僅保存在sales_flat_quote_payment上。我手動輸入了sales_flat_order_payment上的數據,並且它工作正常,我能夠在後端顯示銀行名稱。

現在我必須弄清楚如何在處理付款時獲取數據以保存sales_flat_order_payment,以及爲什麼它將保存在sales_flat_quote_payment上,而不是保存在另一個上。

回答

1

對於付款方式ccsave

Customer > Manage Customer > (Select customer) > Orders > (Select Order) 

「付款信息」部分通常是由模板創建

app/design/adminhtml/default/default/template/payment/info/default.phtml 
+0

謝謝,我看着default.phtml文件,我只找到一個代碼對我沒有多大幫助。 <?PHP的 /** * @see Mage_Payment_Block_Info */ ?> htmlEscape($這 - > getMethod() - >的getTitle())> <?如果PHP($ _specificInfo = $這 - > getSpecificInformation()):?>

$ _value):?> ​​ escapeHtml($ _ label)?>: ​​<?php echo nl2br(implode($ this-> getValueAsArray($ _ value,true),「\ n」))?> <?php endforeach; ?>
<?php endif;?> <?php echo $ this-> getChildHtml()?> – BlueSun3k1 2012-08-13 18:58:32

+0

我已更新我的問題,請仔細閱讀。 – BlueSun3k1 2012-08-13 20:12:19

+0

這就是我的情況所缺少的。我重寫了我的原始信息塊,並忘記爲adminhtml部分創建模板 – 2013-11-12 10:17:21