2013-12-09 1 views
0

'parcelas'라고하는 Magento의 저장된 신용 카드 지불 방법에 맞춤 필드를 추가해야합니다. 1 ~ x 옵션 중 하나를 선택해야합니다. 이 작업을 수행하는 방법을 찾고 있었지만 실제로 양식에서 데이터를 가져 와서 데이터베이스에 저장하고 백엔드에서 가져 오는 방법을 찾지 못했습니다. 아무도 그렇게하는 방법을 알고 있습니까?Magento의 저장된 신용 카드 지불 방법에 사용자 정의 필드 추가하기

+0

이 시도 : http://magento.stackexchange.com/questions/8828/add-new-field-in-checkout – Babblo

+0

을 나는 시도하고 당신에게 피드백을 돌아갑니다 빨리. –

+0

이러한 링크 중 필요한 것은 없습니다. 저장된 신용 카드 모듈 내에 사용자 정의 필드가 아닌 고객 속성을 추가하려는 경우 유용합니다. –

답변

0

약간의 연구 끝에 필자가 필요한 것을 발견했습니다. 이 방법은 Magento 1.7.0.2에서 사용할 수 있습니다.

1 - Ccsave 모듈의 로컬 복사본을 만듭니다.

2 - 응용 프로그램/코드/지역/마법사/Ccsave을/etc/config.xml 파일로 추가 사이 * 설정 -> 글로벌 -> 필드 셋 -> sales_convert_quote_payment *

<cc_parcelas><to_order_payment>*</to_order_payment></cc_parcelas> 

하고 * 설정 -> 글로벌 -> 필드 셋 -> sales_convert_order_payment *

<cc_parcelas><to_quote_payment>*</to_quote_payment></cc_parcelas> 

3 - 응용 프로그램에서/코드/지역/마법사/Ccsave/차단/결제/정보/Ccsave.php는 * _prepareSpecificInformation *

if ($info->getCcParcelas()) { 
    $transport->addData(array(
    Mage::helper('payment')->__('Número de Parcelas') => $info->getCcParcelas(), 
    )); 
} 
을 작동하려면이 코드를 추가

4 - 응용 프로그램/코드/지역/마법사/Ccsave/모델/결제/Info.php에서 GetData의

$this->_data['cc_parcelas'] = $this->getCcParcelas(); 

5를 작동하려면이 코드를 추가 - 응용 프로그램에 형성 입력 필드를 추가/디자인/프론트 엔드/YOURTHEME/기본/템플릿/결제/양식/ccsave.phtml 단지 UL 말 이전 단계 5에서

<li> 
    <label for="<?php echo $_code ?>_cc_parcelas" class="required"><em>*</em>Número de Parcelas</label> 
    <div class="input-box"> 
     <div class="v-fix"> 
      <select title="Número de Parcelas" class="input-text cvv required-entry validate-cc-cvn" id="<?php echo $_code ?>_cc_parcelas" name="payment[cc_parcelas]"> 
       <?php for($i=1; $i<=$this->getParcelas()->getParcelas(); $i++): ?> 
        <option value="<?php echo $i; ?>"><?php echo $i; ?></option> 
       <?php endfor; ?> 
      </select> 
     </div> 
    </div> 
</li> 

은 내가 많은 'parcelas'나는 방법을 다른 모듈에서 호출했습니다. 정적 번호가 'parcelas'인 경우 자신의 방법으로 찾을 수 있습니다. $this->getParcelas()->getParcelas()을 원하는 수로 변경하십시오.

6 -

지금 당신은 당신의 Ccsave 모듈 'parcelas'의 번호를하거나 사용자 정의 필드의 다른 종류를 추가 할 수 있습니다 테이블 sales_flat_order_payment 및 sales_flat_quote_payment에 데이터베이스에 'cc_parcelas'열을 추가합니다. 이 과정에서 문제가 있거나 잘 작동하지 않는다면 알려주십시오.

0

를 사용하여 설치 스크립트

$installer = new Mage_Sales_Model_Mysql4_Setup('core_setup'); 
$installer->startSetup(); 
$installer->addAttribute(
    'order_payment', 
    'cc_parcelas', 
    array(
     'type' => 'varchar', 
     'grid' => true 
    ) 
); 
$installer->endSetup(); 
관련 문제