Не все статусы должны показываться клиентам в личном кабинете

Столкнулся с такой задачей и не обнаружил необходимого плагина с данным функционалом.

Появилась задача добавлять статусы у себя в бэкенде чтобы клиент не видел их. Интернет магазин работает по дропшиппингу и для того чтобы добавить необходимые статусы для логистики типа:

- Оплатили на завод

- Ждем наличие

- Ждем отгрузку с завода

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

А так получается мы оставляем в статусе " Готовится к отправке" и их там 100 человек висит, а конкретики не достает.

Подскажите какое решение есть чтобы эти статусы которые хотим ввести никак не показывались клиентам в ЛК

2 ответа

  • 1
    replicant 10 апреля 2019 09:28 #

    У каждого статуса есть признаки. Наиболее простой способ подсказывает нам, чтобы не выводить лишние статусы, то надо их отобрать по state_id из заказа. ID статусов смотреть в админке в настройках статусов в адресной строке или для самодельных статусов там будет такое поле.

    Берем шаблон my.orders.html вывода списка заказов для примера. Там есть кусок кода, отвечающий за вывод статуса и оформление его стилем, настроенным в админке.

            <td class="nowrap">
                <span class="nowrap order-status" style="{$o.state->getStyle(1)}">
                    {$o.state->getName()}
                </span>
            </td>

    Вот так это выглядит в личном кабинете.



    Допустим нужно запретить показывать в ЛК статус у заказов в состоянии Новый.

    Просто добавляю условие.
    <td class="nowrap">
    {if $o.state_id != 'new'}
        <span class="nowrap order-status" style="{$o.state->getStyle(1)}">
            {$o.state->getName()}
        </span>
    {/if}
    </td>

    И больше не вижу этот статус в личном кабинете. Примерно схожим образом редактируется my.order.html - шаблон вывода конкретного заказа.

    Количество условий, их логика (запретить все и показывать только определенные или разрешить все, но не показывать запрещенные) и id статусов настраиваются в зависимости от вашей задачи.

    В зависимости от кол-ва запрещенных/разрешенных статусов решать задачу надо с минимальным кол-вом логических условий.

    Можно даже сделать определенную заглушку, которая будет показываться вместо "запрещенных к просмотру" статусов, выводя какую-нибудь надпись.

    {if $o.state_id != 'new'}<span class="nowrap order-status" style="{$o.state->getStyle(1)}">
        {$o.state->getName()}
    </span>
    {else}
    <span>Статус неопределен!</span>
    {/if}


  • 1
    Евгений 10 апреля 2019 13:46 #

    Благодарю за такое решение. Проверим на неделе

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите