Jump to main content Jump to doc navigation

MODX Revolution использует параметр a в массиве $_GET для определения действий в менеджере. До MODX 2.3 каждое действие имело свой собственный идентификатор, но с MODX 2.3 действия устарели и больше не используются. Вместо этого, начиная с Revolution 2.3, имя действия передается непосредственно в параметр a.

Действия в JavaScript

В менеджере вы можете получить доступ к списку действий с помощью переменной MODx.action. НЕ полагайтесь ни на какой список с идентификаторами действий менеджера, так как эти идентификаторы не жестко закодированы в ядре MODX, а вместо этого они динамически создаются во время установки и просто имеют определенный идентификатор.

В Evolution действительно был фиксированный список, но в Revolution его никогда не было.

До Revolution 2.3

Чтобы перенаправить браузер для редактирования ресурса с идентификатором 5:

MODx.loadPage(MODx.action['resource/update'], 'id=5');

Чтобы перенаправить браузер на пользовательский контроллер страницы менеджера с именем «update» в пространстве имен «mycomponent», передавая некоторые параметры URL:

MODx.loadPage(MODx.action['mycomponent:update'], 'foo=bar&bar=foo');
// До Revo 2.2 вам нужно было использовать это, но вы рискуете столкнуться с ядром или другими пакетами
MODx.loadPage(MODx.action['update'], 'foo=bar&bar=foo');

Revolution 2.3+

Начиная с версии 2.3, действия и их идентификаторы устарели. Вместо этого вы можете получить доступ к контроллерам напрямую, передав имя контроллера (которое ранее было сохранено в действии), в параметр a, а также указав параметр namespace. Указывать пространство имен не нужно при запросе основного контроллера MODX.

MODx.loadPage('resource/update', 'id=5');
MODx.loadPage('update', 'namespace=mycomponent&foo=bar&bar=foo');

Для обратной совместимости переменная MODx.action все еще присутствует в 2.3, но вместо идентификаторов она, как обычно, содержит имена контроллеров. Эта переменная будет удалена в версии 2.4 или 3.0, поэтому НЕ полагайтесь на нее слишком долго.

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • Jens Wittmann – Gestaltung & Entwicklung
  • Digital Penguin
  • eydolan
  • deJaya
  • Sepia River Studios
  • Following Sea
  • Fabian Christen
  • Dannevang Digital
  • Anton Tarasov
  • Lefthandmedia
  • Murray Wood
  • Nick Clark
  • YJ
  • Chris Fickling
  • CrewMark
  • Richard

Budget

$269 per month—let's make that $500!

Learn more