Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将自定义字段添加到Magento中保存的信用卡付款方式_Php_Magento - Fatal编程技术网

Php 将自定义字段添加到Magento中保存的信用卡付款方式

Php 将自定义字段添加到Magento中保存的信用卡付款方式,php,magento,Php,Magento,我需要在Magento中保存的信用卡支付方法中添加一个名为“Parcellas”的自定义字段,它将是一个带有1到x选项的选项。我一直在寻找如何做到这一点,但我真的没有找到从表单中获取数据、存储到数据库并在后端获取数据的方法。有人知道怎么做吗?经过一些研究,我找到了我需要的东西。此方法适用于Magento 1.7.0.2 1-创建Ccsave模块的本地副本 2-在*config->global->fieldset->sales\u convert\u quote\u payment之间添加到app

我需要在Magento中保存的信用卡支付方法中添加一个名为“Parcellas”的自定义字段,它将是一个带有1到x选项的选项。我一直在寻找如何做到这一点,但我真的没有找到从表单中获取数据、存储到数据库并在后端获取数据的方法。有人知道怎么做吗?

经过一些研究,我找到了我需要的东西。此方法适用于Magento 1.7.0.2

1-创建Ccsave模块的本地副本

2-在*config->global->fieldset->sales\u convert\u quote\u payment之间添加到app/code/local/Mage/Ccsave/etc/config.xml中*

<cc_parcelas><to_order_payment>*</to_order_payment></cc_parcelas>
4-在app/code/local/Mage/Ccsave/Model/Payment/Info.php中,将此代码添加到函数getData中

5-在应用程序/design/frontend/YOURTHEME/default/template/payment/form/ccsave.phtml中,在ul-end之前添加表单的输入字段

<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>
  • 使用安装脚本

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

    试试这个:我会尽快给你反馈。这些链接都没有我需要的,如果你想在保存的信用卡模块中添加客户属性,而不是自定义字段,它们会很有帮助。
    $this->_data['cc_parcelas'] = $this->getCcParcelas();
    
    <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>
    
    $installer = new Mage_Sales_Model_Mysql4_Setup('core_setup');
    $installer->startSetup();
    $installer->addAttribute(
        'order_payment',
        'cc_parcelas',
        array(
            'type' => 'varchar',
            'grid' => true
        )
    );
    $installer->endSetup();