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

Эту библиотеку можно скачать с гитхаба и подключить, либо через composer
Я использовал composer
Необходимо создать плагин setUserAvatar на событие OnUserSave
В качестве источника букв можно указать любое поле
6
Используется библиотека 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();
}
}В качестве источника букв можно указать любое поле
Комментарии: 6