Плагин для управления alias (псевдонимами) документов

Этот небольшой плагин - пример того, как в MODx Revolution можно управлять alias документов.

Иногда на разрабатываемом сайте требуется отказаться от автоматически генерируемых псеводинимов (конечно, если у вас включены дружественные URL), а в качетсве alias для документов использовать к примеру его id. Яркие примеры - товары в интернет магазине (когда товаров много, они похожи, и их названия совпадают); контент, генерируемый пользователями сайта (например блоги или секция вопрос/ответ).

MODx позволяет решить такую задачу очень просто - достаточно создать плагин с десятком строчек кода:

<?php
if ($modx->event->name == 'OnDocFormSave') {
$alias = $resource->get('alias');
$template = $resource->get('template');
if ($template == 8) { // обрабатываем только для документов с нужным нам шаблоном, можете поставить здесь другое условие
$resource->set('alias', $id);
$resource->save();
}
}

Плагин необходимо повесить на событие OnDocFormSave, имя плагину можете дать любое.

Этот плагин срабатывает как при создании нового документа, так и при редактировании существующего. Обратите внимание, что при создании документа в событии onDocFormSave, нам уже известен id записи. В качестве фильтра, что бы плагин устанавливал alias не для всех документов, а только для нужных, я предпочитаю использовать фильтрацию по шаблону, вы же можете поставить условие по любому другому критерию, например по родительскому документу или автору записи.