Pull to refresh

MODx — немного улучшаем админку Evolution

Reading time2 min
Views4.7K
Последние 3 дня я провел за изучением Revolution, и решил, что мои проекты пока еще рано переводить на нее. Но мне очень понравилась там одна фишка в админке, а именно: при открытии любого ресурса тырчик сохранения стоит на «Продолжить редактирование». То есть, вы открываете ресурс, редактируете, сохраняете и можно редактировать дальше.

Лично мне это очень удобно, так как все чанки и сниппеты я редактирую в аминке с помощью EditArea.
Но в Evolution нужно при заходе в ресурс переставить тырчик с «Закрыть» на «Продолжить», что очень раздражает, ведь EdiatArea умеет сохранять документ по Ctrl+S, и если в пылу изменений забыл переставить тырчик и нажал, по привычке Ctrl+S — придется искать, что ты только что редактировал.

Мелочь, но не приятно. А из таких мелочей складывается рабочий день и настроение в целом.

Вариант решения простой: нужно сделать плагин, который за меня будет переключать тырчик на нужную позицию.





5 минут на изучения разметки админки, и нужный элемент найден — это select#stay.
Дальше дело техники:
Создаем плагин (Управление элементами->Плагины->Создать плагин), называем его AlwaysStay и копируем код
$e = & $modx->Event;
if ($e->name == "OnDocFormRender" ||
    $e->name == "OnTempFormRender" ||
    $e->name == "OnChunkFormRender" ||
    $e->name == "OnSnipFormRender" ||
    $e->name == "OnPluginFormRender"
   ) {
      $html = "
          <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js'  type='text/javascript'></script>
          <script type='text/javascript'>
              var j = jQuery.noConflict();
              j(document).ready(function() {
                  if (j('#stay #stay3').attr('selected') == true) {
                      j('#stay #stay2').attr('selected', true)
                  };
              })
          </script>
      ";
      $e->output($html);
}

Updated
Спасибо камраду Andchir за более приятный код, советую использовать его, если вам не нужен jquery.
    <script type='text/javascript'>
        if(!$('stay').value) $('stay').value=2;
    </script>


На вкладке «Системные события» отмечаем
OnDocFormRender
OnTempFormRender
OnChunkFormRender
OnSnipFormRender
OnPluginFormRender

Сохраняем и все готово.

Заходим в любой документ или сниппет и видим, что тырчик стоит в положении «Продолжить». Если его переставить в положение «Создать новый» — то оно также сохранится.
Если хотите, чтобы плагин не работал на чанках, к примеру, отключите соответствующее событие (OnChunkFormRender).
Tags:
Hubs:
0
Comments15

Articles