1

Тема: Как сделать подсчет "Заказы в один клик" в админке?

Как сделать подсчет "Заказы в один клик" в админке?
Хочу отобразить общее количество заказов в один клик в админке, вверху сайта, где меню. Как это можно реализовать?

Повысить оценку Понизить оценку

2

Re: Как сделать подсчет "Заказы в один клик" в админке?

Пункты меню для админки формируются с помощью события getmenus.
Вы можете попробовать обработать данное событие в вашем модуле с более высоким приоритетом, например так:

namespace ВАШМОДУЛЬ/config;

class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
        $this->bind('getmenus', null, null, 0); //0 - означает, что ваш обработчик будет вызван позже других и вы сможете переназначить пункт меню
    }

   public static function getMenus($items)
    {
        $items[] = array(
                'title' => 'Покупки в 1 клик',
                'alias' => 'oneclick',
                'link' => '%ADMINPATH%/catalog-oneclickctrl/',
                'sortn' => 16,
                'typelink' => 'link',                     
                'parent' => 'products',
                'count' => 100  //Здесь можно добавить ваш расчет количества.
            );
        return $items;
    }
}

затем просто скопируйте в вашу тему шаблон:
из  /modules/menu/adminmenu_branch.tpl
в /templates/{ВАША ТЕМА}/moduleview/menu/adminmenu_branch.tpl

В новом шаблоне добавьте отображение поля count с вашим расчетом.


Есть один нюанс. блок-контроллер админ панели \Menu\Controller\Admin\View использует кэширование списка пунктов меню, т.е. чтобы счетчик был "живым", вам нужно будет скопировать файл

modules/menu/controller/view.inc.php в modules/menu/controller/view.my.inc.php, и в нем подправить вызов:

$items = $this->api->getAdminMenu();

на

$items = $this->api->getAdminMenu(false, false);

Повысить оценку Понизить оценку