Кнопка редактирования ресурса

16 Июля 2021 10:38

Бывают сайты с достаточно большой вложенностью ресурсов и чтобы при просмотре ресурсов с фронта не приходилось потом искать этот ресурс в админке, можн осделать плагин, который будет отображать ссылку на этот ресурс в административной пнаели.

Установка

  1. Создаем плагин;
  2. Имя плагину присваиваем любое;
  3. Вешаем на событие OnWebPagePrerender;
  4. Вставялем код:
    <?php
    if ($modx->event->name == 'OnWebPagePrerender') {
        if($modx->resource->get('type') != 'xml' && $modx->resource->get('type') != 'json') {
            if (!$modx->user->isAuthenticated('mgr')) {return;}
            
            $html = '
                <div style="position:fixed;z-index:1000;left:5px;bottom:5px;" id="editButton">
                    <a href="' . MODX_MANAGER_URL . 'index.php?a=resource/update&id='.$modx->resource->id.'" target="_blank">Редактировать эту страницу</a>
                </div>';
            $modx->resource->_output .= $html;
        }
    }

Результат

Кнопка отображается только авторизованному в контексте mgr пользователю и не отображается в ресурсах типа xml и json, чтобы не омать api!