Задача: для сайта Народная Власть реализовать возможность загрузки аватара (фото) в профиле Joomla 2.5/3.0. А также, добавить вывод аватаров в комментариях jcomments.
Решение: поскольку, на данный момент, на сайте не использовались социальные компоненты (такие как K2, Community Builder, Kunena и т.д.), где уже предусмотрена загрузка аватара, то за основу был взят плагин HKM_profile, который и был модифицирован для решения поставленной задачи.
Устанавливаем плагин HKM_profile и вносим следующие изменения:
В скрипте /plugins/user/hkm_profile/fields/userinfo.php добавляем новое поле "file" для параметра "fieldType".
После чего в админке для плагина "Расширенный профиль" можно будет создать тип "Файл" с параметрами в поле "Мои параметры": fieldtype=avatar&width=128&height=128, где fieldtype - тип поля; width\height - ширина и высота в px (по умолчанию 100x100); path – папка для аватаров (по умолчанию /images/avatar/).
Далее открываем скрипт /plugins/user/hkm_profile/hkm_profile.php, поскольку изменений много, то для наглядности разместим почти весь код плагина, и уже в коде прокомментируем вставки.
Модифицируем плагин jcomments для отображения аватара.
1) В файл /plugins/jcomments/avatar/avatar.xml после "<option value="slogin">Social Login</option>" добавляем "<option value="hkm_profile">HKM Profile</option>";
2) В скрипт /plugins/jcomments/avatar/avatar.php перед "case 'gravatar':" вставляем:
Скачать модифицированный плагин HKM_profile
Скачать модифицированный плагин jcomments avatar
В функцию onUserAfterSave вообще не приходит значение поля file.
Цитата СергейВ функцию onUserAfterSave вообще не приходит значение поля file.
Давайте тогда посмотрим, что туда вообще приходит, в начале функции onUserAfterSave добавьте: file_put_contents('test.txt', var_export($_FILES, true));
потом попробуйте загрузить фото, и в корне сайта посмотрите содержимое этого файла. Скиньте текст сюда.
Файл не сохраняется :-?
Значит параметры такие fieldtype=avatar&width=128&height=128&path=/images/avatar/ установлены?
Папка используется эта /images/avatar/?
И еще для теста, в функцию my_avatar перед "foreach($_FILES" вставьте
file_put_contents('test.txt', $_SERVER['DOCUMENT_ROOT'].$dest.' '.var_export($a, true));
вставил, но в файле test.txt ничего не появляется
Суть, думаю, ясна, нужно определить место, докуда доходит скрипт, на пути вызова функции my_avatar.
папка images/avatars замусоривается.
можно ли в админке вывести аватар
Подскажите пожалуйста, как мне вывести аватар пользователя в другом месте??
Установил плагин, аватар не сохраняется.
:)Огромное спасибо!! Отличный плагин.
Правда для Jcomments под Jooml 3.X пришлось немного дольше повозиться, чтобы встроить:)
То есть не выполняется вот это if(isset($_FILES['jform']['tmp_name']['hkm_profile'])){...
Если посмотреть запись в поле в Менеджере пользователей, то там стоит локальный адрес картинки, т.е. не происходит обработки и присваивания файлу имени с id пользователя.
получается что переменная $FILES пуста не могу найти в коде где конкретно дается команда на загрузку файла.
Вообщем, что-то не могу победить.
form id="member-registration" action="/component/users/?task=registration.register" method="post" class="form-validate"
И еще один вопросик: что достаточно поменять/добавить, чтобы использовать при загрузке два поля типа Файл?
Добавила (скопировала и изменила) еще функцию My_avatar (в плагине вместо avatar у второго поля docscan). Второе изображение создается и записывается у меня как id_d.jpg, но по-прежнему в папку avatar ('это не категорично), но при отображении в профиле в обоих полях отображается именно вторая картинка, которая с буквой "d".
Файлы загружаются в нужные папки и нужного размера, но в настройках пользователя в обоих полях в Расширенном профиле стоит /images/jsdocs/958.jpg и соответственно при входе отображается одна и та же картинка в профиле, хотя на самом деле все создается и записывается правильно.
одинаковые пути пишутся в поле profile_value таблицы.
Добрый день! Вообщем, отладочная информация показывает что в БД посылается один и тот же путь.
Не совсем поняла фото чего нужно прислать.
Кусок файла sql.txt с полями типа file
(998, 'hkm_profile.uniqueID22', '1', 17), (998, 'hkm_profile.uniqueID1', '/images/jsdocs/998.jpg', 18), (998, 'hkm_profile.uniqueID2', '/images/jsdocs/998.jpg', 19)
СПАСИБО!!! ВСЕ РАБОТАЕТ!!! Надеюсь с выставлением необязательности разберусь сама:)
Подскажите пожалуйста, как вывести расширеные поля (не аватар) автора в статье?
а можно как то это дело подружить с Ulogin ?
И ещё такой вопрос где можно изменить дизайн профиля ?
Здравствуйте, не могу понять как заставить работать поле "Значение по умолчанию", если писать просто "default.jpg", то в профиле просто надпись "default.jpg", если вставить то вы валивается XML ошибка
Если речь о fieldtype=avatar, то значение по умолчанию отображается правильно, если по указанному адресу картинка /images/default.jpg
то выводится просто "/images/default.jpg". Картинка есть в папке images, но почему то не выводится почеловечески
но выводится только надпись вместо картинки
Фото появляется нормально при загрузки из профиля
К сожалению на свежей джумле все тоже самое
Спасибо, уже лучше но не айс, дифолтная картинка появляется как битая картинка, вот что кажет файербаг
Изза этого куска ?rnd=442339 картинка битая, както его можно убрать?
Рано обрадовался, в профиле дефолтная стала показываться, но если я хочу вывести картинку скажем в модуле авторизации, то пустота,
Установил плагин расширенного профиля на Joomla 3.3.4. Поле для загрузки аватара не появилось((
Помогите разобраться почему аватара нет в профиле.
Доброго времени суток.
Плагин расширенного профиля на Joomla 3.3.4 не работает!
Нет возможности переключиться на поле "файл". Доступно только текстовое поле. Не работает Ваша форма.
$jusr=JFactory::getUser();
if($jusr->id && @is_file(JPATH_BASE.'/images/avatar/'.$jusr->id.'.jpg')){
echo '<img src="/images/avatar/'.$jusr->id.'.jpg" border=0 />';
}
Доброго времени суток.
Плагин расширенного профиля на Joomla 3.3.4 не работает!
Нет возможности переключиться на поле "файл". Доступно только текстовое поле. Не работает Ваша форма.
как можно настроить сжатие (качество) получаемого аватара?
Цитата Антиквариаткак можно настроить сжатие (качество) получаемого аватара?
Попробуйте заменить в скрипте /plugins/user/hkm_profile/func/images.php название функции imagecopyresized на imagecopyresampled
Специалист по сайтам
8 (3452) 58 93 85 (Анатолий)
mail@2v3.su
Специалист по видео
8 (929) 264 1523 (Константин)
cashara@bk.ru
Специалист по фото
8 (929) 261 3062 (Дмитрий)
Мультимедиа-студия «Два в кубе» © 2011 - 2015
Давно искал простенький плагин с возможностью загрузки аватарок в профиль пользователя.