Модификация поиска заказов

Доброго времени суток. Хотели бы расширить стандартный поиск заказов по дате, а именно добавить поиск по дате изменения заказа. Подскажите, пожалуйста, куда копать?


1 лайк

шаблон поиска тут

design/backend/templates/views/orders/components/orders_search_form.tpl

и хуком расширить функцию fn_get_orders (app/functions/fn.cart.php) . смотрите там как period используется

1 лайк

Хм, получилось расширить функцию, но не могу передать кастомные параметры поиска через вышеописанный шаблон.


Если выставить параметры вручную, работает.

Покажите что и как добавили. Имена у инпутов поменяли?

Расширил функцию fn_get_orders (app/functions/fn.cart.php)

    if (!empty($params['updated_period']) && $params['updated_period'] != 'A') {
        list($params['time_from'], $params['time_to']) = fn_create_periods($params);

        $condition .= db_quote(" AND (?:orders.updated_at >= ?i AND ?:orders.updated_at <= ?i)", $params['time_from'], $params['time_to']);
    }

Добавил в шаблон orders_search_form.tpl еще один “period_selector”

<div class="group form-horizontal">
<div class="control-group">
    <label class="control-label">{__("period")}</label>
    <div class="controls">
        {include file="common/period_selector.tpl" period=$search.updated_period form_name="orders_search_form"}
    </div>
</div>
</div>

input вроде как имеют уникальные id_prefix’ы

Нужно передать параметр prefix в include, чтобы имена полей не совпадали с полями из дефолтного поля с датами