Выбор аватара gravatar || photo || noimage
Всем привет. Меня интересует вопрос по аватаркам для пользователей.
У меня стоят Tickets, Hybridauth и Login.
Сейчас я делаю личный кабинет и мне нужно чтобы у пользователя была аватарка, но не синий квадрат с Gravatar.
В общем суть вопроса (алгоритм):
1- Если у пользователя нет авы в Gravatar и нет привязанного аккаунта (Hybridauth) с фоткой, то выводить мою загруженную картинку noimage.
2- Если пользователь зарегистрирован и зашел через соц.сеть (HybridAuth), то выводить его аву из соцсети.
3- Если у пользователя есть ава в gravatar, то выводить её.
В общем нужно чтобы фотка была либо если есть из граватара, либо из соцсети, либо уже моя noimage.
Сейчас я использую такой вывод изображения (нашел на форуме), но это не покрывает условие №3:
У меня стоят Tickets, Hybridauth и Login.
Сейчас я делаю личный кабинет и мне нужно чтобы у пользователя была аватарка, но не синий квадрат с Gravatar.
В общем суть вопроса (алгоритм):
1- Если у пользователя нет авы в Gravatar и нет привязанного аккаунта (Hybridauth) с фоткой, то выводить мою загруженную картинку noimage.
2- Если пользователь зарегистрирован и зашел через соц.сеть (HybridAuth), то выводить его аву из соцсети.
3- Если у пользователя есть ава в gravatar, то выводить её.
В общем нужно чтобы фотка была либо если есть из граватара, либо из соцсети, либо уже моя noimage.
Сейчас я использую такой вывод изображения (нашел на форуме), но это не покрывает условие №3:
<img class="avatar" src="[[+photo:is=``:then=`[[++rb_base_dir]]img/nophoto.png`:else=`[[+photo]]`]]" />
А это не покрывает условие №1:<img src="[[+gravatar]]?s=100&d=[[+photo]]" />
Можно ли изменить вывод авы в сниппете, чтобы все эти проверки происходили в нем, а здесь просто плэйсхолдер с размером оставить? Комментарии: 7
<img src="[[+gravatar]]?s=100&d=[[+photo:default=`[[++rb_base_dir]]img/nophoto.png`]]" />
Я тоже над такой конструкцией думал, но почему-то параметры не обработаны, вывод такой:
<img src="https://gravatar.com/avatar/79b89f7cd29ea0ef728ba8796fa2bfd3?s=100&d=/assets/templates/online/img/nophoto.png" />
<img src="[[+gravatar]]?s=100&d=[[++site_url]][[+photo:default=`[[++rb_base_dir]]img/nophoto.png`]]" />
А в каком смысле «параметры не обработаны»?
Я думал, что в том выводе выше параметры вывелись
....?s=100&d=.....
, а плейсхолдеры подставились. Спасибо, Илья, работает всё.
Не пойму каким образом тут вообще изображение из соцсети берутся. Имеются в виду фото из modx профиля, граватар и дефолтная картинка?
Ну из соцсети их дергает HybridAuth кажется, и добавляет к профилю modx.
Не добавляет. Василий тут предложил решать такие задачи плагином. Добавил свое решение туда же.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.