Генерируем аватар с первой буквой пользователя
Данную задачу я встречаю впервые, поэтому возможно упускаю какую-то инструкцию.
Используется библиотека Letter Avatar

Эту библиотеку можно скачать с гитхаба и подключить, либо через composer
Я использовал composer
Необходимо создать плагин setUserAvatar на событие OnUserSave
В качестве источника букв можно указать любое поле
Используется библиотека Letter Avatar

Эту библиотеку можно скачать с гитхаба и подключить, либо через composer
Я использовал composer
Необходимо создать плагин setUserAvatar на событие OnUserSave
<?php
require_once(MODX_BASE_PATH.'assets/lib/vendor/autoload.php');
use YoHang88\LetterAvatar\LetterAvatar;
// если необходимо назначать аватар только при создании пользователя, добавьте условие
// && $mode == 'new'
if ($modx->event->name === 'OnUserSave') {
$profile = $user->getOne('Profile');
$username = $profile->get('username'); // источник букв
if(!$avatar = $profile->get('photo')) {
$avatar = new LetterAvatar($username, 'square', 100);
$avatar_name = $username.'_'.time().'.jpg';
$avatar->saveAs(MODX_BASE_PATH.'assets/images/users/'.$avatar_name , LetterAvatar::MIME_TYPE_JPEG);
$profile->set('photo','assets/images/users/'.$avatar_name);
$profile->save();
}
}В качестве источника букв можно указать любое поле
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
6
Комментарии: 6