Возникла необходимость обрезания URL'ов для сайта modx.one, чтобы все тикеты сохранялись с короткой и однообразной ссылкой вида https://modx.one/t/657/. Для этого необходимо произвести следующие действия. У секции с тикетами нужно настроить "Формирование URI" следующим образом:
%id%ext
Чтобы %ext
не выводил по умолчанию .html нужно в верхнем меню зайти в Содержимое -> Типы содержимого и изменить поле .html на слэш /.
После чего вешаем плагин
<?php
switch ($modx->event->name) {
case 'OnDocFormSave':
$resid = $resource->get('id');
$uriedit = 't/'. $resid . '/';
$resource->set('uri', $uriedit);
$resource->save();
break;
case 'OnBeforeDocFormSave':
$resid = $resource->get('id');
$uriedit = 't/'. $resid . '/';
$resource->set('uri', $uriedit);
$resource->save();
break;
case 'OnTicketThreadOpen':
$resid = $resource->get('id');
$uriedit = 't/'. $resid . '/';
$resource->set('uri', $uriedit);
$resource->save();
break;
}
на события OnDocFormSave, OnBeforeDocFormSave, OnTicketThreadOpen.
Комментарии ()