Добавление пользовательских сниппетов на главную страницу админки

Добавление пользовательских сниппетов на главную страницу админки - Liber.pro - личный сайт Алексея Либера Картинка  1

При работе с Revo нашел весьма интересную, на мой взгляд, опцию: в ней можно выводить на главную страницу свои виджеты из сниппетов. Погуглив нашел интересное и красивое решение - EvoDashbord. Но, на мой взгляд оно показлось слишким громоздким, и не совсем отвечающим моей задаче (хотя не спорю, может я не до конца въехал в него). Поэтому написал простенький плагин для Modx Evolution - Dashboard Widgets

//<?php
/**
 * Dashboard Widgets
 *
 * Displaying user-defined snippets on the Dashboard
 *
 * @category    plugin
 * @version     0.1
 * @license     http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL)
 * @package     modx
 * @author      Alexey Liber (bd87@bk.ru)
 * @internal    @events OnManagerWelcomePrerender
 * @internal    @modx_category Manager and Admin
 * @internal    @properties &snippetsId = Id сниппетов;text;
 * @internal    @installset base
 * @internal    @disabled 1
 */
$e = &$modx->Event;
if($e->name == 'OnManagerWelcomePrerender'){
    $table = $modx->getFullTableName('site_snippets');
    if ($snippetsId)
    {
    foreach (explode(',',$snippetsId) as $id)
    {
        $title = $modx->db->getValue('Select `description` from '.$table.' where `id`='.$id);
        $name = $modx->db->getValue('Select `name` from '.$table.' where `id`='.$id);
    $output = ' <div class="sectionHeader">'.$title.'</div>
    <div class="sectionBody">'.$modx->runSnippet($name).'</div>';			
    $e->output($output);
    }
    }
    
}

Установка: копируем содержимое плагина, в системных событиях ставим галочку OnManagerWelcomePrerender, в конфигурацию вставляем &snippetsId = Id сниппетов;text;

Для вывода сниппета (ов), в конфигурации проставляем их id через запятую. Название для блока будет браться из описания сниппета (надеюсь все помнят, что не стоит им пренебрегать?). и все, играйтесь)

Вот скирн того, что у меня получилось)

Добавление пользовательских сниппетов на главную страницу админки - Liber.pro - личный сайт Алексея Либера Картинка  2

Оставить комментарий