Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 324 Ответов
  • 33407 Просмотров
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
Несколько лет назад я написала плагин hkm_profile, позволяющий генерировать поля расширенного профиля cms Joomla. Сейчас хочу поделиться с вами его развитием - zygo_profile. Точнее, уже тремя расширениями.



ОПИСАНИЕ И СКРИНШОТЫ:
Более подробное описание со ссылками на скачивание расширений находится здесь:
http://www.psytronica.ru/2015/10/joomla-3x-zygoprofile-hkmprofile.html

В двух словах: пользователь получает возможность заполнить в своем профиле при регистрации/правке профиля дополнительные поля расширенного профиля (например: загрузить аватар, добавить личную подпись, выбрать день рождения, свой пол из выпадающего списка.... Состав полей не является определенным, пользователь создает его сам, как конструктор). Данные поля настраиваются в админ-панели плагина Zygo Profile - определяется их состав, тип, названия, required и прочие свойства. Поля могут быть разных типов: текстовые, списки, радиокнопки, аватар, дата.  Затем при помощи плагина  Zygo Profile Content можно вывести информацию из этих полей в материалы Joomla (отобразить аватар блоггера, вывести его подпись).

Ссылки на GitHub:  

Zygo Profile - Плагин расширенного профиля пользователя:
GitHub: https://github.com/psytronica/zygoprofile

Ветка "Development" : https://github.com/psytronica/zygoprofile/tree/development

Zygo Profile Content - Плагин вывода полей расширенного профиля в материалы Joomla
GitHub: https://github.com/psytronica/plg_content_zygo_profile

Zygo Online - Модуль "кто на сайте" с выводом аватаров пользователей из расширенного профиля
GitHub: https://github.com/psytronica/mod_zygo_online

Zygo Jcomments - Плагин для отображения аватара из Zygo Profile в jComments (автор docenttmp):
GitHub: https://github.com/docenttmp/plg_jcomments_zygo_avatar
docenttmp также сделал возможность отображения online/offline в комментариях. Инструкции в настройках плагина

Zygo Kunena Avatars - Плагин для отображения аватара из Zygo Profile в форуме Kunena
GitHub: https://github.com/psytronica/Zygo-Kunena-Avatars

ДЕМО-ПЕСОЧНИЦА:

http://psytronica.getenjoyment.net/
Весь дополнительный функционал - аватары, любимые цвета, выводится посредством плагина Zygo Profile Content
Место вывода полей, количество, и т.д. настраивается в админ-панели плагина

Плагин Zygo Profile  содержит API, позволяющий выводит информацию расширенных полей пользователей (напр. аватары, дни рождения и т.д.) в произвольном месте и использоваться для интеграций с другими расширениями

На данный момент доступна только русская локализация. В дальнейшем думаю выложить английскую и испанскую. Если кто-то вдруг захочет присоединиться к локализации - буду только рада)

Буду рада вашим вопросам, советам по улучшению приложения и конструктивной критике
*

docenttmp

  • Осваиваюсь на форуме
  • 37
  • 13 / 0
docenttmp, возьмите, пожалуйста, zyprofile в кавычки в вашем коде в avatar_process.php и avatar_showform.php
Ага, есть такое дело, спс. Ну как же без ошибок!?))

Предлагаю добавить настройку кеша для модуля
Зачем? Плагинов для кэша туча + сама Joomla + на хостинге системы кэширования. Или я не понял вопроса.

Долгожданная плюшка для связки JComments + Zygo - online/offline пользователь без излишней нагрузки на бд.
Для тех кто уже интегрировал JComments + Zygo :

в plugins/jcomments/avatar/avatar.php

находим :
$users = array();
      foreach ($comments as &$comment) {
         if ($comment->userid != 0) {
            $users[] = (int)$comment->userid;
         }

         $comment->avatar = '';         
      }

заменяем на :
$users = array();
      foreach ($comments as &$comment) {
         if ($comment->userid != 0) {
            $users[] = (int)$comment->userid;
         }

         $comment->avatar = '';
         $comment->online = '';
      }

находим :
$db->setQuery('SELECT user_id, profile_value as avatar FROM `#__user_profiles` '.
     'WHERE user_id in (' . implode(',', $users). ') AND profile_key = '.$db->quote("zygo_profile.".$fid));

заменяем на :
$db->setQuery('SELECT user_id, profile_value as avatar, userid as online FROM `#__user_profiles` '.
    'LEFT JOIN `#__session` ON user_id=userid WHERE user_id in (' . implode(',', $users). ') AND profile_key = '.$db->quote("zygo_profile.".$fid));

находим :
if (isset($avatars[$uid]) && !empty(trim($avatars[$uid]->avatar))) {
      $comment->avatar = JURI::base(). $avatars[$uid]->avatar;
     }

заменяем на :
if (isset($avatars[$uid]) && !empty(trim($avatars[$uid]->avatar))) {
      $comment->avatar = JURI::base(). $avatars[$uid]->avatar;
      $comment->online = $avatars[$uid]->online;    
     }

В шаблон Jcomments - tpl_comment.php вписываем куда надо :

<?php
if($comment->userid==0) { echo 'guest';}
elseif($comment->online==$comment->userid) { echo 'online';}
else { echo 'offline';}
?>

ну и оформляем по своему.

P.S. Первая так сказать паблик версия. Время сессии = системным настройкам в Joomla.



*

Biss

  • Давно я тут
  • 994
  • 101 / 0
Цитировать
Или я не понял вопроса.

для исключения модуля из кеша
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
docenttmp, здорово. Может, вашу наработку в отдельный плагин для интеграции с jcomments соберем?

Biss, насчет кеша, я еще немного понаблюдаю за развитием Joomla 3.7, если к марту не будет полноценного релиза и плагин еще будет востребован, то можно будет сделать вполне
*

Biss

  • Давно я тут
  • 994
  • 101 / 0
Цитировать
В Joomla 3.7 появляется возможность создавать новые типы дополнительных поля плагинами. Среди типов полей "из коробки" есть все основные типы полей, присутствующие в Zygo Profile, кроме поля аватаров с генерацией миниатюр.
Смотрел новости. Там по ходу и аватары можно создавать для юзеров, но без генерации миниатюр я так понял.
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
docenttmp, небольшой момент: в вашем дополнении если пользователь хочет сменить аватар и удаляет его, то новый аватар он может загрузить только после сохранения профиля. Иначе получает сообщение:
Цитировать
Изменения запрещены. Пожалуйста удалите текущий аватар и загрузите новый.
Насколько это хорошо? Интуитивно не совсем понятно, что надо сохранить профиль, прежде чем сменить аватар.

Biss
, да, все верно, выбор изображений будет доступен, а вот о миниатюрах ничего не было сказано. Поэтому и думаю, стоит ли делать такое поле под новую Joomla
*

Biss

  • Давно я тут
  • 994
  • 101 / 0
Цитировать
а вот о миниатюрах ничего не было сказано.
В этом вся фишка. Лучше такую работу отдавать скриптам. Это ж конечно ерунда если пользователей пару десятков. а если потянуть от 500 и дальше и каждый будет грузить авы не учитывая разрешения и размеры, - админу прибавится не мало ручной работы  ^-^ и следить потом за всем этим...
*

docenttmp

  • Осваиваюсь на форуме
  • 37
  • 13 / 0
docenttmp, небольшой момент: в вашем дополнении если пользователь хочет сменить аватар и удаляет его, то новый аватар он может загрузить только после сохранения профиля.
Данное сообщение вылазит, если пользователь уже загрузил аватар, а админ вдруг изменил папку с аватарами, новый аватар загрузится в новую папку, а старый останется "хламом" лежать, что бы не "хламить" сделал так что пользователь сам удаляет старый аватар, на тот момент гибкого решения не придумал, ну и описание скорее не совсем правильное.
Есть глобальное решение, как вижу его я - при изменении папки > переносится папка old_avatar в new_avatar >  получаем avatars из бд > меняем avatars > обновляем avatars в бд, запрос разбиваем на куски что бы не грузить то вдруг 100кк записей.
Если есть идеи о более гибком решении, давайте обсудим. Можно временно вырезать кусок кода с проверкой, скажем так "до нормальной реализации".
Цитировать
Может, вашу наработку в отдельный плагин для интеграции с jcomments соберем?
Думаю так : в отдельный не стоит, а вот прикрутить к основному можно, создать еще одну вкладку вроде "Интеграция с комментариями" с заделом на будущее и туда прикручивать Jcomments и тд и тп по мере необходимости и другие системы комментирования.
« Последнее редактирование: 20.01.2017, 17:18:26 от docenttmp »
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
Цитировать
Думаю так : в отдельный не стоит, а вот прикрутить к основному можно, создать еще одну вкладку вроде "Интеграция с комментариями" с заделом на будущее и туда прикручивать Jcomments и тд и тп по мере необходимости и другие системы комментирования.
Можно, только тогда группу плагина придется сменить с user на system (чтобы обрабатывались как триггеры группы user, так и триггеры jcomments). В принципе, ничего плохого в этом нет кроме того, что в таком случае плагин будет подгружаться всегда, когда загружаются системные плагины.


Цитировать
Данное сообщение вылазит, если пользователь уже загрузил аватар, а админ вдруг изменил папку с аватарами, новый аватар загрузится в новую папку, а старый останется "хламом" лежать, что бы не "хламить" сделал так что пользователь сам удаляет старый аватар, на тот момент гибкого решения не придумал, ну и описание скорее не совсем правильное.
Может, если админ изменил папку с аватарами, то когда пользователь нажимает "удалить аватар", посредством AJAX переместить папку с его аватаром по новому адресу (и соответственно, вносится изменение в 1 строку бд.)? (Я предлагаю изменение, а не удаление, поскольку пользователь может захотеть "откатить назад" удаление аватара при перезагрузке страницы) Может, не самое хорошее решение, но не такое громоздкое как "глобальное решение"
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
А с Zoo как подружить?
*

docenttmp

  • Осваиваюсь на форуме
  • 37
  • 13 / 0
sherza, с плагином пришел к общему знаменателю, на следующей неделе постараюсь выложить ("велосипед заново придумывать не будем", просто форкану + если успею время сессии добавлю, и подмену CSS - вроде универсального решения для всех шаблонов jc), а вот над "сменой папки админом" еще по-мозгую, в голову на этой недели ничего не лезет. "Хвост динозавра",  тянется еще у меня с прошлого года, нужно его подтянуть, ну радует хоть одно что последний, задачки там не стандартные, могу отвалиться с форума на n времени.

И чтобы не забыть, на потом :
php 7.1.0 чисто установленный плагин, не включенный

Illegal string offset 'code' in plugins/user/zygo_profile/fields/userinfo.php on line 296

включенный ломает пути к аватарам но работает стабильно, /images/zyprofile/0_314039720/thumb809431130.jpg,
где 0_314039720 = userid .

UPD. Fixed in dev.
« Последнее редактирование: 18.02.2017, 14:24:27 от docenttmp »
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
Цитировать
sherza, с плагином пришел к общему знаменателю, на следующей неделе постараюсь выложить ("велосипед заново придумывать не будем", просто форкану + если успею время сессии добавлю, и подмену CSS - вроде универсального решения для всех шаблонов jc)
Конечно, или давайте открою вам доступ к мастер ветке, чтобы не путать пользователей, откуда скачивать

Насчет php 7.1.0, погляжу, чего там такое
*

docenttmp

  • Осваиваюсь на форуме
  • 37
  • 13 / 0
И опять я неправильно обьяснил, форкану jc плагин, в отдельный плагин. Давайте сделаем еще одну ветку dev или test, куда будут вноситься "не обкатанные изменения" - свежачёк.
PS. Ход мыслей человека потемки. Не все понимают. Думая что на полуслове тебя поймет другой человек.

А с Zoo как подружить?
С Zoo работал года так 4 назад и к нему не возвращался, причина развитие самой CMS.
« Последнее редактирование: 21.01.2017, 15:51:04 от docenttmp »
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
С Zoo работал года так 4 назад и к нему не возвращался, причина развитие самой CMS.
это похвала в сторону Zoo или CMS?))))
Думаю, лучше не трогать эту тему, а то заспамим, я пока работаю на Zoo, а точнее на JBZoo, есть много новых впечатлений о вообще подходу с сайтостроительству, но обо всем пока не смогу написать, это нужно основательно посидеть подумать, но я пока не нашел достойной полноценной замены данному сочетанию конструкторов (по крайней мере в данной ценовой категории), есть конечно и минусы, пока обкатываю, думаю в итоге будет статья, но не ранее чем выйдет мой проект социального-бизнес портала-каталога, который делаю без копейки поддержки со стороны, поэтому многие решения не очевидны, но иногда интересны. Я хочу изучить плагин Зайго или как это по-русски, и может быть напишу решения для Zoo, просто пока спросил, может проблема на 2 минуты и уже есть решение)
« Последнее редактирование: 21.01.2017, 17:49:38 от newvideo »
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
newvideo, я тоже уже лет 5 не возвращалась к Zoo. Думаю, то, что вы говорите, можно и вправду легко сделать. Если вы можете вывести в Zoo id текущего пользователя в том месте кода, где предполагаете вывести информацию из доп. полей, значит, дело за малым, я только помогу воспользоваться интеграцией. Если нет, то стоит вникнуть в код Zoo и найти, как вывести id пользователя в нужное место. Мне пока, если честно, немного не до этого.
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
newvideo, я тоже уже лет 5 не возвращалась к Zoo. Думаю, то, что вы говорите, можно и вправду легко сделать. Если вы можете вывести в Zoo id текущего пользователя в том месте кода, где место. Мне пока, если честно, немного не до этого.
Разумеется, как вам удобно)) Я ещё решаю попутно задачу, есть ли смысл в этих аватарках для Zoo, если есть в плагине возможность выводить аватарки для JComm, ведь у меня JComm интегрирован с Zoo, задача просто сделать несколько систем комментариев, для рег пользователей и просто гостей, вопрос в том каким комментариям будет отдано предпочтение. Если сделаю, напишу об этом тут.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Если вы можете вывести в Zoo id текущего пользователя в том месте кода, где предполагаете вывести информацию из доп. полей, значит, дело за малым, я только помогу воспользоваться интеграцией.
в любом месте сайта доступна фабрика, из которой доступен JUser, а значит получить пользователя - не проблема
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
AlekVolsk, это точно) Есть маленькое но: при помощи JFactory->getUser() вы получите информацию о том пользователе, который просматривает сейчас страницу, а это может быть ни к чему. Вместо этого может понадобиться, например, id автора материала Zoo. Плюс, предлагается найти правильное место, где вывести поля расширенного профиля

Видимо, это я некорректно выразилась, когда написала "текущий пользователь".
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
зу пишет реальные id пользователей, изнутри айтема доступно как $item->created_by, который и можно подставить в JFactory->getUser() для получения данных, для категории кстати то же самое поле с тем же самым именем )
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
*

docenttmp

  • Осваиваюсь на форуме
  • 37
  • 13 / 0
По поводу "смены папки админом и остатков старых аватаров" надумал вот что : как только пользователь заходит в "изменение профиля" происходит обновление/перенос аватара, не зависимо нажал он сохранить/изменить или нет. Отдельный плагин для Jcomments реализован и ждет "обкатки" https://github.com/docenttmp/plg_jcomments_zygo_avatar, пробуйте на localhost, вроде ошибок не обнаружено. Универсального решения для включения онлайн/оффлайн в шаблоне, пока не нашел, вставка в шаблоны уж всё таки персонально-штучное решение.
P.S. Если с этими решениями все будет "ок", буду двигаться дальше, есть еще пара идей.
« Последнее редактирование: 25.01.2017, 08:03:47 от docenttmp »
*

djumfan

  • Захожу иногда
  • 243
  • 13 / 0
P.S. Если с этими решениями все будет "ок", буду двигаться дальше, есть еще пара идей.
Подскажите пожалуйста, а есть ли в плагине настройка по отключению функции онлайн/оф.
Всё таки не для всех сайтов она актуальна.

Вот пример работы: http://psytronica.getenjoyment.net/index.php/7-verbos-irregulares
Вы если будете на плагин переходит, пожалуйста не удаляйте страницу с инструкцией по ручному внедрению аватаров в jcomments. Я по этой инструкции подчищу внесённые изменения. Возможно и ещё для кого будут нужны эти инструкции для чистки, чтоб перейти на плагин.
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
djumfan:
Цитировать
Подскажите пожалуйста, а есть ли в плагине настройка по отключению функции онлайн/оф.
В отключении нет надобности, поскольку по умолчанию онлайн/оф никуда не выводится. Чтобы его вывести в желаемое место темплейта jcomments, надо следовать инструкциям docenttmp в плагине

Цитировать
Вы если будете на плагин переходит, пожалуйста не удаляйте страницу с инструкцией по ручному внедрению аватаров в jcomments. Я по этой инструкции подчищу внесённые изменения.
Конечно, не буду удалять
*

docenttmp

  • Осваиваюсь на форуме
  • 37
  • 13 / 0
Ветка zygoprofile-development обновлена. Реализован функционал обновления аватаров, после смены папки хранения. Обновление срабатывает после нажатия кнопки "изменить аватар" в профиле. В админке пока не работает.
UPD. Теперь все работает. Можно "обкатывать".
UPD2. Следующая наработка :

Если нужно реализую в ближайшее свободное время, а так "в ящик на потом".
До наработки будет обновлённый eng translate.
« Последнее редактирование: 28.01.2017, 13:59:26 от docenttmp »
*

djumfan

  • Захожу иногда
  • 243
  • 13 / 0
В админке пока не работает.
К чёрту админку - главное чтобы пользователям было понятно и удобно.
*

docenttmp

  • Осваиваюсь на форуме
  • 37
  • 13 / 0
К чёрту админку - главное чтобы пользователям было понятно и удобно.
Все уже давно исправлено в dev, а надпись гласит : Обновляется профиль пользователя...
PS Кто не понял скриншота это камера.
Сайт сегодня отвалился :
 404. That’s an error.
The requested URL /2015/10/joomla-3x-zygoprofile-hkmprofile.html was not found on this server. That’s all we know.
« Последнее редактирование: 29.01.2017, 12:16:52 от docenttmp »
*

Biss

  • Давно я тут
  • 994
  • 101 / 0
Или я не вовремя скачал или что-то не работает в dev. Аватарка не меняется или меняется но с третьего раза. Как-то оно корректно отрабатывает только после того когда нажимаю удалить аватар и потом загружаю новый. Думал где-то кеширование мешается но нет, проверил все выключено.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
я немного запутался в версиях, разделите топики по чистому ZigoProfile и его вариации, разделите ссылки на stable- и dev-версии
*

djumfan

  • Захожу иногда
  • 243
  • 13 / 0
PS Кто не понял скриншота это камера.
Вот это круто! А я как раз и не понял : )

К камере неплохо бы баг, чтобы как только пользователь включал редактирование аватаров, она его автоматом щёлкала и админу в отдельную папку отправляла ))))))
Прикольно бы было посмотреть на выпученные шары пользователей от такого функционала
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
*

docenttmp

  • Осваиваюсь на форуме
  • 37
  • 13 / 0
В dev добавлен английский перевод.
Или я не вовремя скачал или что-то не работает в dev. Аватарка не меняется или меняется но с третьего раза. Как-то оно корректно отрабатывает только после того когда нажимаю удалить аватар и потом загружаю новый. Думал где-то кеширование мешается но нет, проверил все выключено.
Сегодня прогнал dev ветку раз 5, по последним изменениям, "полёт нормальный". Перекачайте dev. Если ошибки останутся: версии php, sql и браузера в студию. И не забывайте dev на то и "dev", там всякое может быть.
AlekVolsk, в шапке ссылка только на stable. Кому нужен dev, думаю найдут как скачать, сложного ведь ничего в этом нет.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

А-ля корзина для материалов Joomla

Автор Efanych

Ответов: 151
Просмотров: 15441
Последний ответ 02.04.2024, 22:31:42
от barvik
Плагин h2captcha (hcaptcha.com)

Автор voland

Ответов: 3
Просмотров: 1574
Последний ответ 11.03.2024, 08:29:12
от wishlight
Плагин добавления групп для регистрации, регистрация в один клик

Автор Fedor Vlasenko

Ответов: 88
Просмотров: 22290
Последний ответ 19.02.2024, 01:14:58
от wowkarak
WT Eternal admin - плагин &quot;вечный админ&quot; для Joomla

Автор sergeytolkachyov

Ответов: 0
Просмотров: 374
Последний ответ 21.12.2023, 09:25:25
от sergeytolkachyov
WT Content Image gallery контент плагин вставки изображений

Автор sergeytolkachyov

Ответов: 1
Просмотров: 805
Последний ответ 21.12.2023, 09:20:15
от sergeytolkachyov