Skip to content

Latest commit

 

History

History
54 lines (46 loc) · 1.86 KB

ManagerMenu.md

File metadata and controls

54 lines (46 loc) · 1.86 KB

Класс Okay\Core\ManagerMenu

addCounter( string $menuItemTitle, int $counter)

Добавления счетчика новых событий в админ-меню

Аргумент Описание
$menuItemTitle Название пункта меню, в который стоит добавить счётчик событий. К группе меню счётчик добавляется автоматически.
$counter Количество новых событий, которое нужно вывести в меню.

Для добавления счетчика, следует создать экстендер, который расширит хелпер Okay\Admin\Helpers\BackendMainHelper::evensCounters().

Пример экстендера:

class BackendExtender implements ExtensionInterface
{
    private $managerMenu;
    private $entityFactory;
    
    public function __construct(ManagerMenu $managerMenu, EntityFactory $entityFactory)
    {
        $this->managerMenu = $managerMenu;
        $this->entityFactory = $entityFactory;
    }

    public function setNewEventsProcedure()
    {
        /** @var SomeEntity $someEntity */
        $someEntity = $this->entityFactory->get(SomeEntity::class);
        $this->managerMenu->addCounter('left_custom_form_data_title', $someEntity->count(['processed' => 0]));
    }
}

Пример инициализации:

class Init extends AbstractInit
{
    public function init()
    {
        // ...abstract
        $this->registerChainExtension(
            ['class' => BackendMainHelper::class, 'method' => 'evensCounters'],
            ['class' => BackendExtender::class, 'method' => 'setNewEventsProcedure']
        );
    }
}