OpenCart не может обновить модификацию списка заказов - PullRequest
0 голосов
/ 03 января 2019

Мы тестировали самодельный модуль.В файле install.xml есть модификации, которые мы хотим применить, когда активируем модуль в OpenCart.

Мы установили vqmod (2.6.3).Мы попытались очистить кэш и обновить модификацию нашего модуля, ни одна из этих работ не работает.

Код (install.xml):

<?xml version="1.0" encoding="utf-8"?>
<modification>
        <code>wms_api</code>
        <name>WMS API</name>
        <version>1.0</version>
        <author></author>
        <link></link>

    <file name="admin/controller/sale/order.php">
        <operation>
            <search position="after" error="log">
                <![CDATA[$data['sort_status'] = $this->url->link('sale/order', 'user_token=' . $this->session->data['user_token'] . '&sort=order_status' . $url, true);]]></search>
            <add>
                <![CDATA[$data['sort_wms_status'] = $this->url->link('sale/order', 'user_token=' . $this->session->data['user_token'] . '&sort=order_wms_status' . $url, true);]]>
            </add>
        </operation>
        <operation>
            <search position="after" error="log" offset="2">
                <![CDATA[if (isset($this->request->get['filter_order_status_id'])) {]]></search>
            <add><![CDATA[if (isset($this->request->get['filter_wms_status'])) {
            $url .= '&filter_wms_status=' . $this->request->get['filter_wms_status'];
        }]]></add>
        </operation>
        <operation>
            <search position="after" error="log">
                <![CDATA['filter_order_status_id' => $filter_order_status_id,]]></search>
            <add><![CDATA['filter_wms_status'      => $filter_wms_status,]]>
            </add>
        </operation>
        <operation>
            <search position="after" error="log">
                <![CDATA['order_status'  => $result['order_status'] ? $result['order_status'] : $this->language->get('text_missing'),]]></search>
            <add><![CDATA['wms_status'    => $result['wms_status'],]]>
            </add>
        </operation>
    </file>
    <file name="admin/model/sale/order.php">
        <operation>
            <search position="after" error="log"><![CDATA['order_status',]]></search>
            <add><![CDATA['o.wms_status',]]></add>
        </operation>
        <operation>
            <search position="replace" error="log">
                <![CDATA[$sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";]]></search>
            <add>
                <![CDATA[$sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, o.wms_status, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";]]></add>
        </operation>
        <operation>
            <search position="after" error="log" index="1" offset="2">
                <![CDATA[if (!empty($data['filter_order_id'])) {]]></search>
            <add><![CDATA[if (!empty($data['filter_wms_status'])) {
                $sql .= " AND wms_status = '" . (int)$data['filter_wms_status'] . "'";
            }]]></add>
        </operation>
    </file>
    <file name="admin/view/template/sale/order_list.twig">
        <operation>
            <search position="after" error="log">
                <![CDATA[<td class="text-left">{% if sort == 'order_status' %} <a href="{{ sort_status }}" class="{{ order|lower }}">{{ column_status }}</a> {% else %} <a href="{{ sort_status }}">{{ column_status }}</a> {% endif %}</td>]]></search>
            <add><![CDATA[<td class="text-left">{% if sort == 'wms_status' %} <a href="{{ sort_wms_status }}" class="{{ order|lower }}">{{ column_wms_status }}</a> {% else %} <a href="{{ sort_wms_status }}">{{ column_wms_status }}</a> {% endif %}</td>]]></add>
        </operation>
        <operation>
            <search position="after" error="log">
                <![CDATA[<td class="text-left">{{ order.order_status }}</td>]]></search>
            <add><![CDATA[<td class="text-left">{{ order.wms_status }}</td>]]></add>
        </operation>
        <operation>
            <search position="before" error="log">
                <![CDATA[<div class="form-group">
            <label class="control-label" for="input-total">{{ entry_total }}</label>
            <input type="text" name="filter_total" value="{{ filter_total }}" placeholder="{{ entry_total }}" id="input-total" class="form-control" />
          </div>]]></search>
            <add>
                <![CDATA[<div class="form-group">
            <label class="control-label" for="input-wms_status">{{ entry_wms_status }}</label>
            <input type="text" name="filter_wms_status" value="{{ filter_wms_status }}" placeholder="{{ entry_wms_status }}" id="input-wms_status" class="form-control" />
          </div>]]></add>
        </operation>
        <operation>
            <search position="after" error="log" offset="4">
                <![CDATA[var filter_wms_status = $('select[name=\'filter_wms_status\']').val();]]></search>
            <add><![CDATA[var filter_wms_status = $('select[name=\'filter_wms_status\']').val();

            if (filter_wms_status !== '') {
                url += '&filter_wms_status=' + encodeURIComponent(filter_wms_status);
            }]]></add>
        </operation>
    </file>
</modification>

Что мы в основном хотим, это настроитьOrderList для отображения дополнительного столбца с информацией, это что-то простое, но очень сложное для выполнения.В настоящее время ничего не происходит, когда мы устанавливаем модуль.Это как файл install.xml игнорируется.

У кого-нибудь есть идеи?

...