Как заменить двоеточие на тире в псевдониме(url) MODX?

В MODX для замены двоеточия на тире в псевдониме (alias) URL можно воспользоваться событием OnDocFormSave. Это событие вызывается после сохранения документа в административной панели MODX и позволяет изменить необходимые данные в документе.

Для начала создайте новый плагин. Назовите его, например, "ReplaceColonWithDash". В настройках плагина укажите следующий код:

<?php
$eventName = $modx->event->name;
if ($eventName == 'OnDocFormSave') {
    $docId = $modx->event->params['id'];
  
    $doc = $modx->getObject('modResource', $docId);
    $alias = $doc->get('alias');
  
    $newAlias = str_replace(':', '-', $alias);
  
    if ($newAlias != $alias) {
        $doc->set('alias', $newAlias);
        $doc->save();
    }
}
return;

После создания плагина установите его активным в разделе "Плагины" в административной панели MODX. Затем создайте новый документ или откройте существующий и сохраните его. При сохранении, плагин будет вызывать событие OnDocFormSave, которое заменит все двоеточия на тире в псевдониме (alias) URL документа.

Обратите внимание, что этот код заменит все двоеточия на тире в псевдониме URL, независимо от их положения в строке. Если вам нужно заменить только первое двоеточие, или заменять двоеточия только в определенном контексте, вам придется модифицировать предложенный код.