Shopkeeper Little Widget

Виджет для главной страницы админки Evolution

Показывает количество новых заказов и дает ссылку сразу на модуль Shopkeeper.

15.04.2018

Выглядит результат вот так.

Или так - в темной теме.

Часто заказчик просит вывести ссылку на модуль Shopkeeper прямо на главную страницу админки. Во-первых, ему самому удобнее, а во-вторых не нужно объяснять менеджерам, куда нажать, чтобы увидеть список заказов.

Принцип работы этого виджета очень простой. По сути, это плагин, который вешается на событие OnManagerWelcomePrerender, считает количество новых заказов в базе данных и красивенько выводит данные.

Код плагина

/**
 * Shopkeeper Little Widget
 *
 * show new orders and link on Shopkeeper
 *
 * @category    plugin
 * @version     1.0
 * @internal    @properties &id_shopkeeper=id модуля Shopkeeper;text
 * @internal    @events OnManagerWelcomePrerender
 * @internal    @modx_category Manager and Admin
 */
$e = &$modx->Event;
if($e->name == 'OnManagerWelcomePrerender'){	
	$c=$modx->db->getValue($modx->db->query('SELECT COUNT(*) FROM `modx_manager_shopkeeper` WHERE `status`="1"'));
	$output='<div class="container container-body"><div class="row form-row widgets"><div id="shopkeeper_widget" class="col-sm-12"><div class="card"><div class="card-header">Управление заказами</div><div class="card-block"><div class="card-body">';
	if($c>0) $output.='<p><strong>'.$c.' новых заказов.</strong></p>';
	$output.='<p><a href="index.php?a=112&id='.$id_shopkeeper.'">Управление заказами</a></p>';
	$output.='</div></div></div></div></div></div>';
	$e->output($output);
}

Как установить

Идешь в админку, нажимаешь кнопочку "Новый плагин", копируешь приведенный код в поле "Код плагина (php)", и проверив, что у тебя стоит галочка "Анализировать DocBlock", сохраняешь. Затем в конфигурации плагина нужно указать id модуля Shopkeeper, который уже должен быть установлен.

Успехов!