簡體   English   中英

自定義字段在Opencart 2.x中始終輸入“ 0”

[英]Custom Field always inputs a “0” in Opencart 2.x

自定義字段在Opencart 2.x中始終輸入“ 0”

我在向訂單歷史記錄添加自定義字段時遇到問題。 該字段始終在數據庫中輸入“ 0”,而不是在文本區域中輸入的值。 我已經編輯了以下文件:admin / model / sale / order.php,admin / controller / sale / order.php,catalog / model / checkout / order.php,catalog / controller / api / order.php,admin / language /english/sale/order.php、.../ order_info.tpl和... / order_history.tpl

我的日志中沒有收到任何錯誤。 我認為表單(位於表單本身或#button-history的on_Click函數中頁面底部的AJAX腳本位於order_info.tpl文件中)與數據庫之間存在一些脫節,但是我不是確定在哪里看。 任何幫助,將不勝感激。

我的歷史記錄輸出圖像。 我每次在注釋和check_number中都輸入了相同的順序,但始終收到“ 0”: 在此處輸入圖片說明

這是我的vqmod文件,其中包含所有更改:

<file name="admin/model/sale/order.php">
    <operation error="skip">
        <search position="replace"><![CDATA[
        $query = $this->db->query("SELECT oh.date_added, os.name AS status, oh.comment, oh.notify FROM " . DB_PREFIX . "order_history oh LEFT JOIN " . DB_PREFIX . "order_status os ON oh.order_status_id = os.order_status_id WHERE oh.order_id = '" . (int)$order_id . "' AND os.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY oh.date_added ASC LIMIT " . (int)$start . "," . (int)$limit);
        ]]></search>
        <add><![CDATA[
        $query = $this->db->query("SELECT oh.date_added, os.name AS status, oh.comment, oh.check_number, oh.notify FROM " . DB_PREFIX . "order_history oh LEFT JOIN " . DB_PREFIX . "order_status os ON oh.order_status_id = os.order_status_id WHERE oh.order_id = '" . (int)$order_id . "' AND os.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY oh.date_added ASC LIMIT " . (int)$start . "," . (int)$limit);
        ]]></add>
    </operation>
</file>
<file name="admin/controller/sale/order.php">
    <operation error="skip">
        <search position="after"><![CDATA[
        $data['entry_notify'] = $this->language->get('entry_notify');
        ]]></search>
        <add><![CDATA[
        $data['entry_check_number'] = $this->language->get('entry_check_number');
        ]]></add>
    </operation>
    <operation error="skip">
        <search position="after"><![CDATA[
        $data['column_notify'] = $this->language->get('column_notify');
        ]]></search>
        <add><![CDATA[
        $data['column_check_number'] = $this->language->get('column_check_number');
        ]]></add>
    </operation>
    <operation error="skip">
        <search position="after"><![CDATA[
        'notify'     => $result['notify'] ? $this->language->get('text_yes') : $this->language->get('text_no'), 
        ]]></search>
        <add><![CDATA[
        'check_number'     => $result['check_number'],
        ]]></add>
    </operation>
</file>
<file name="catalog/model/checkout/order.php">
    <operation error="skip">
    <search position="replace"><![CDATA[
        public function addOrderHistory($order_id, $order_status_id, $comment = '', $notify = false) {
        ]]></search>
        <add><![CDATA[
        public function addOrderHistory($order_id, $order_status_id, $comment = '', $notify = false, $check_number = '') {
        ]]></add>
    </operation>
    <operation error="skip">
    <search position="replace"><![CDATA[
        $this->db->query("INSERT INTO " . DB_PREFIX . "order_history SET order_id = '" . (int)$order_id . "', order_status_id = '" . (int)$order_status_id . "', notify = '" . (int)$notify . "', comment = '" . $this->db->escape($comment) . "', date_added = NOW()");
        ]]></search>
        <add><![CDATA[
        $this->db->query("INSERT INTO " . DB_PREFIX . "order_history SET order_id = '" . (int)$order_id . "', order_status_id = '" . (int)$order_status_id . "', notify = '" . (int)$notify . "', comment = '" . $this->db->escape($comment) . "', check_number = '" . $this->db->escape($check_number) . "', date_added = NOW()");
        ]]></add>
    </operation>        
</file>
<file name="catalog/controller/api/order.php">
    <operation error="skip">
    <search position="after"><![CDATA[
        'notify',
        ]]></search>
        <add><![CDATA[
        'check_number',
        ]]></add>
    </operation>
    <operation error="skip">
    <search position="replace"><![CDATA[
        $this->model_checkout_order->addOrderHistory($order_id, $this->request->post['order_status_id'], $this->request->post['comment'], $this->request->post['notify']);
        ]]></search>
        <add><![CDATA[
        $this->model_checkout_order->addOrderHistory($order_id, $this->request->post['order_status_id'], $this->request->post['comment'], $this->request->post['check_number'], $this->request->post['notify']);
        ]]></add>
    </operation>        
</file>
<file name="admin/language/english/sale/order.php">
    <operation error="skip">
    <search position="after"><![CDATA[
        $_['column_notify']            = 'Customer Notified';
        ]]></search>
        <add><![CDATA[
        $_['column_check_number']      = 'Check Number';
        ]]></add>
    </operation>
    <operation error="skip">
    <search position="after"><![CDATA[
        $_['entry_notify']             = 'Notify Customer';
        ]]></search>
        <add><![CDATA[
        $_['entry_check_number']      = 'Check Number';
        ]]></add>
    </operation>        
</file>
<file name="admin/view/template/sale/order_info.tpl">
    <operation error="skip">
    <search position="replace" offset="2"><![CDATA[
        <input type="checkbox" name="notify" value="1" id="input-notify" />
        ]]></search>
        <add><![CDATA[
        <input type="checkbox" name="notify" value="1" id="input-notify" />
              </div>
            </div>
            <div class="form-group">
              <label class="col-sm-2 control-label" for="input-check_number"><?php echo $entry_check_number; ?></label>
              <div class="col-sm-10">
                <textarea name="check_number" rows="1" id="input-check_number" class="form-control"></textarea>
              </div>
            </div>
        ]]></add>
    </operation>
    <operation error="skip">
    <search position="replace"><![CDATA[
        data: 'order_status_id=' + encodeURIComponent($('select[name=\'order_status_id\']').val()) + '&notify=' + ($('input[name=\'notify\']').prop('checked') ? 1 : 0) + '&append=' + ($('input[name=\'append\']').prop('checked') ? 1 : 0) + '&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val()),
        ]]></search>
        <add><![CDATA[
        data: 'order_status_id=' + encodeURIComponent($('select[name=\'order_status_id\']').val()) + '&notify=' + ($('input[name=\'notify\']').prop('checked') ? 1 : 0) + '&append=' + ($('input[name=\'append\']').prop('checked') ? 1 : 0) + '&check_number=' + encodeURIComponent($('textarea[name=\'check_number\']').val()) + '&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val()),
        ]]></add>
    </operation>
    <operation error="skip">
    <search position="after"><![CDATA[
        $('textarea[name=\'comment\']').val('');
        ]]></search>
        <add><![CDATA[
        $('textarea[name=\'check_number\']').val('');
        ]]></add>
    </operation>        
</file>
<file name="admin/view/template/sale/order_history.tpl">
    <operation error="skip">
    <search position="after"><![CDATA[
        <td class="text-left"><?php echo $column_comment; ?></td>
        ]]></search>
        <add><![CDATA[
        <td class="text-left"><?php echo $column_check_number; ?></td>
        ]]></add>
    </operation>
    <operation error="skip">
    <search position="after"><![CDATA[
        <td class="text-left"><?php echo $history['comment']; ?></td>
        ]]></search>
        <add><![CDATA[
        <td class="text-left"><?php echo $history['check_number']; ?></td>
        ]]></add>
    </operation>
</file>

嘗試使用

+ '&check_number=' + encodeURIComponent($('#input-check-number').val())"

check_number總是輸入“ 0”,因為它實際上是由“ notify”輸入復選框而不是check_number文本區域控制的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM