1

私はMagentoサイトhttp://mydolcessa.comに取り組んでいます

チェックアウト ページにチェックボックスを追加しました。これは、会社がクレジット カードに請求することを承認していることを確認し、返品および返金ポリシーに同意することです。(下図参照)

注文が表示される管理エリアで、「Authorized to Charge:」という行を追加しました。現在、設定済みの列のデータベースに値を手動で入力すると、そこに正しく読み取られて表示されます。

私が助けを必要としているのは、チェックボックスがデータベースの列に「はい」または「いいえ」を挿入することです。

app/design/frontend/base/default/template/payment/form/Ccsave.phtml のチェックボックス コード

<li>

    <div class="input-box">
        <input type="checkbox" id="<?php echo $_code ?>_cc_checkbox"" name="payment[cc_checkbox]" title="<?php echo $this->__('By checking this box, I authorize this transaction and acknowledge the refund/exchange policy discussed in the "customer care" section of the website.') ?>" class="input-text validate-cc-checkbox validate-cc-type" value="Yes" />

      <label for="<?php echo $_code ?>_cc_checkbox" class="required"><em>*</em><?php echo $this->__('By checking this box, I authorize this transaction and acknowledge the refund/exchange policy discussed in the "customer care" section of the website.') ?></label>


    </div>
</li>

app/code/core/Mage/Payment/Block/Info/Cc.php のチェックボックス コード

/**
 * Retrieve Checkbox Status
 *
 * @return string
 */
public function getCcCheckbox()
{
    $checkbox = Mage::getSingleton('payment/config')->getCcCheckbox();
    $ccCheckbox = $this->getInfo()->getCcCheckbox();
    if (isset($checkbox[$ccCheckbox])) {
        return $checkbox[$ccCheckbox];
    }
    return (empty($ccCheckbox)) ? Mage::helper('payment')->__('No') : $ccCheckbox;
}

app/code/core/Mage/Payment/Block/Info/Ccsave.php のチェックボックス コード (バックエンドに表示)

class Mage_Payment_Block_Info_Ccsave extends Mage_Payment_Block_Info_Cc
{
/**
 * Show name on card, expiration date and full cc number 
 *
 * Expiration date and full number will show up only in secure mode (only for admin, not in emails or pdfs)
 *
 * @param Varien_Object|array $transport
 */
protected function _prepareSpecificInformation($transport = null)
{
    if (null !== $this->_paymentSpecificInformation) {
        return $this->_paymentSpecificInformation;
    }
    $info = $this->getInfo();
    $transport = new Varien_Object(array(Mage::helper('payment')->__('Name on the Card') => $info->getCcOwner(),));

    $transport = parent::_prepareSpecificInformation($transport);
    if (!$this->getIsSecureMode()) {
        $transport->addData(array(
            Mage::helper('payment')->__('Expiration Date') => $this->_formatCardDate(
                $info->getCcExpYear(), $this->getCcExpMonth()
            ),
            Mage::helper('payment')->__('Credit Card Number') => $info->getCcNumber(),
            Mage::helper('payment')->__('Authorized to Charge') => $info->getCcCheckbox(),
        ));
    }
    return $transport;
}
}

このようなコードはどこに配置すればよいですか?

<?php $cc_checkbox = $_GET["cc_checkbox"];

require_once 'app/Mage.php';

$resource = Mage::getSingleton('core/resource');

$readConnection = $resource->getConnection('core_read');

$writeConnection = $resource->getConnection('core_write');

    $tableName = $resource->getTableName('sales_flat_order_payment');

    if ($cc_checkbox == true) { 
        $checked="Yes";
        $query = "UPDATE INTO {$tableName} (cc_checkbox)
        VALUES ('Yes')";
    }
    else { 
        $checked="No"; 
        $query = "INSERT INTO {$tableName} (cc_checkbox)
        VALUES ('No')";
    }

    $writeConnection->query($query);

    ?>

PS: 基本ファイルの編集については知っています。これを行ってから、自分のフォルダーにコピーします。

保存済みクレジット カード フォームのチェックボックス

注文セクションで請求する権限あり

4

0 に答える 0