Сегодня в одном своем проекте решил пользователю через админку назначить фотку, так, без задней мысли. Полез редактировать пользователя — а там такого нет O_o. Полез в базу данных — колонка photo в таблице user_attributes имеется. Обратно лезу в редактор — нет нифига… А оказалось, что этого механизма в принципе не предусмотрено. Странно, ну да ладно. Сел вот написал небольшой пакетик-плагин. Теперь можно:-)
Исходник пакета здесь: github.com/Fi1osof/modAvatar
Советую всем скачать и и изучить внимательно. Там конечно местами бордак в коде. но в целом пакет не большой, не должны заблудиться.
Красота компонента в том, что происходит расширение админки без какого-либо вмешательства в исходный код. Даже контроллеры не переопределяются. Это чистый ExtJS.
Кстати, забыл сказать о механизме работы. В целом все очень и очень стандартно. Если фото были раньше чем-то назначены, то компонент их покажет в редакторе профиля, так как нет велосипеда. Колонка photo — стандартная. Туда все и пишется.
В дальнейшем можно легко получить значение через API
$photo = $modx->getObject('modUser', $id) -> getOne('modUserProfile', 'Profile') ->get('photo');