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

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, позволяющий выводит информацию расширенных полей пользователей (напр. аватары, дни рождения и т.д.) в произвольном месте и использоваться для интеграций с другими расширениями

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

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

fandjuml

  • Захожу иногда
  • 59
  • 6 / 3
fandjuml, интеграция с slogin уже есть: https://github.com/psytronica/ZygoProfile-Slogin-Integration. Позволяет брать данные для расширенного профиля (аватар, день рождения и т.д.) из данных slogin, полученных из соц сетей при регистрации через slogin
Спасибо вам большое! Я в курсе - самый первый взял)))  (я вам анонимом с кофе три голову марочил и надоедал - Вы уж извините).
Интересно, с куненой связать не планируете или вам это не интересно?
Я тут малость "губу раскатал":
Было бы супер, если бы через ваш компонент при регистрации данные в Kunena улетали (сайт, аватар, социалки и прочие поля). Хотя понимаю - зачем оно вам нужно. Поэтому губу закатываю обратно.
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
fandjuml, правильно делали, что писали. Есть вопросы - надо решать). Насчет Kunena - интересно, да только времени сейчас маловато - в последнее время я почти все время в разъездах. Может, однажды и до Kunena доберусь)
*

Olg

  • Завсегдатай
  • 1073
  • 81 / 2
Спасибо за нужный плагин.
Наглый вопрос: есть ли способ для типа поля "Список выбора" загнать одним чохом большой список (конкретно -- список всех стран мира; по одной стране загонять уж больно страшно и ошибок наделаешь)?
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
Olg, к сожалению, никакого механизма на этот счет я не предусмотрела, поэтому проще сделать следующим образом:

1) Если у вас установлен phpMyAdmin, то в таблице #__extensions находите строку с name="plg_user_zygo_profile"  и в поле "params" находите для данного поля  fieldOptions_value и fieldOptions_text. В квадратных скобках в кавычках в fieldOptions_value указываете value select-списков, в fieldOptions_text - аналогично указываете текст опций (ваши города)
пример:
Код
["fieldOptions_value":{"2":["red","orange","yellow"]},"fieldOptions_text":{"2":["красный","оранжевый","желтый"]}

2) Если нет возможности воспользоваться phpMyAdmin (или это вызывает сложности), я подготовлю для вас простой php-скрипт


P.S: fandjuml, ваш вопрос про перенос аватаров еще актуален? Видимо, вы удалили этот комментарий на сайте, теперь он, по крайней мере, не отображается
*

Olg

  • Завсегдатай
  • 1073
  • 81 / 2
Спасибо за быстрый ответ. Как делать понятно. Но если такой функционал будет прямо в настройках плагина -- это просто "сбыча мечт".
Теперь о грустном. Установлена J 3.5.1, Kunena 4. Хотел использовать ваш плагин для формы регистрации, но при его активации на странице регистрации -- белый экран (независимо от того, влючён ли при этом родной плагин профиля пользователя или нет) и красуется сообщение:
Parse error: syntax error, unexpected '[' in /home/.../public_html/plugins/user/zygo_profile/zygo_profile.php on line 400
Чем это может быть вызвано и как это лечить?
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
Видимо, на хостинге php 5.3 или ниже + какая-то настройка, гадать не буду.
Внесла маленькое изменение в код плагина:
Пожалуйста, сообщите мне, решится ли проблема, когда установите
https://github.com/psytronica/zygoprofile/archive/master.zip
(При желании можно обновить только zygo_profile.php)
*

Olg

  • Завсегдатай
  • 1073
  • 81 / 2
Добрый вечер. Прекрасно! После замены файла работает.
С версией PHP наблюдаю комедию: в личном кабинете timeweb для сайта сам устанавливал 5.4 (был выбор: 5.4 или 5.3), а системной информации Joomla! показывается 5.3.29. Дурят нашего брата...
*

Olg

  • Завсегдатай
  • 1073
  • 81 / 2
Продолжаются странности. Попытка сделать select просто из двух пунктов окончилась на данный момент неудачей:
на картинке settings.PNG -- настройки поля, на картинке frontend.PNG -- то, что получается. А получается совсем не так, как у вас на сайте: вместо select создаётся input. Может я неправильно поле настроил?
« Последнее редактирование: 03.06.2016, 12:26:29 от Olg »
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
Olg, дело в том, что плагин использует стандартные типы полей Joomla. В более ранних версиях данное поле отображалось как select, теперь отображается как input+datalist (html5!)
*

Olg

  • Завсегдатай
  • 1073
  • 81 / 2
И как это победить?
*

Olg

  • Завсегдатай
  • 1073
  • 81 / 2
Если поставить поверх, то настройки, сделанные в предыдущей версии, слетят?
*

Olg

  • Завсегдатай
  • 1073
  • 81 / 2
Работает и ничего не слетело...
Большое спасибо.
*

fandjuml

  • Захожу иногда
  • 59
  • 6 / 3
fandjuml, ваш вопрос про перенос аватаров еще актуален? Видимо, вы удалили этот комментарий на сайте, теперь он, по крайней мере, не отображается
А я думал это Вы удалили коммент... - он сначала отображался, но на следующий день зайдя за вашим советом, я его больше не видел - подумал что коммент не прошёл модерацию...
По вашему рецепту я интегрировал Аватары в JComments, работает отлично. Но вопрос с переносом аватаров из Slogina в ZygoProfile я так и не решил. Папки с ID создал, по две картинки с новыми именами и с соответствующими размерами добавил + пустую заглушку (index.html) - аватары в комментах не отобразились. Вот мысль пришла, что наверно где то в БД для Zygo нужно добавить пользователей, но в этом направлении я ещё не рыл, думал Вы подскажите.
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
fandjuml, я обычно чужие комментарии без нужды не удаляю :). Приношу извинения за неудобство, если вдруг еще раз наткнетесь на подобный глюк blogspot, дублируйте вопрос в эту тему

Что касается аватаров - они прописываются в таблицу #__user_profiles, где     
profile_key=zygo_profile.uniqueID_x_
profile_value=_Ссылка_на_аватар_\n

где _x_ - ID поля аватара. Его можно найти в редактировании полей плагина (Название поля, ID = _x_)
_Ссылка_на_аватар_ - берется относительно корня, напр: media/plg_zygo_profile/556/thumb1110094194.jpg. Сами файлы аватара могут лежать не обязательно в media/plg_zygo_profile
\n - перевод строки

Если у вас очень много пользователей и руками это сделать сложно, я могу придумать для вас скрипт заполнения этой таблицы
*

fandjuml

  • Захожу иногда
  • 59
  • 6 / 3
fandjuml, если у вас очень много пользователей и руками это сделать сложно, я могу придумать для вас скрипт заполнения этой таблицы
Спасибо - получилось! Я руками быстро справился - аватары с папками по ID у меня уже были готовы, поэтому заполнение таблицы сложностей не вызвало.
Версия PHP - 7.0.7; Joomla! 3.5.1. Использую интеграцию со слогином + аватарю jcomments.
 Работает как часики! СПАСИБО!
*

voland

  • Легенда
  • 10455
  • 558 / 111
  • Эта строка съедает место на вашем мониторе
Офигеннский плагинище.
Спасибо за разработку

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

sherza

  • Захожу иногда
  • 226
  • 90 / 1
voland, спасибо за отзыв!

Насчет интеграции с Kunena - ко мне уже много раз поступали такие просьбы, но смогу заняться не раньше осени.

Насчет вывода полей в таблице пользователей в админке (еще б с возможностью сортировать и фильтровать) - идея хорошая, конечно, но задачка не вполне тривиальная (особенно, что касается сортировки и фильтрации) - я имею в виду,  с минимальным вмешательством, не подменяя выборки com_users/models/users.php полностью на свои и не внося другие кардинальные изменения, дабы не нарушить работу чужих возможных плагинов и не наткнуться на несовместимость при очередном апгрейде Joomla. Если у Вас есть мысли, как это лучше реализовать, готова обсудить :)

Офигеннский плагинище.
Спасибо за разработку

Наглость, конечно, но до полного счастья не хватает интеграции с Куненой и вывода полей в таблице пользователей в админке (еще б с возможностью сортировать и фильтровать)...

P.S:  В связи с моим отъездом до конца лета отвечать в теме буду редко. Кому не отвечу летом - отвечу осенью. Спасибо за понимание.
*

T34

  • Новичок
  • 9
  • 1 / 0
Доброго дня!

Дорогая Зья, спасибо за замечательный плагин!

Дорогие знатоки, помогите простым решением. Сам я в PHP ни в зуб ногой, а решение нужно срочно. Как вывести из "#___users-profiles" значение записанного туда этим чудесным плагином заданного поля, по аналогии с вот таким выводом данных из поля "#____users"?

Код: php
<?php
$user = &JFactory::getUser();
?>

<div>
  <input name="skype" type="hidden" value="<?= $user->skype; ?>" title="" class="kakoy-to_class" id="skype" />
</div>

В описании плагина есть какие-то намёки для грамотных людей, но я их понять не способен по своей дремучести. Всю голову сломал уже.  :(
« Последнее редактирование: 21.07.2016, 08:53:54 от T34 »
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
T34, спасибо за отзыв!

Можно сделать так:
Код
<?php
$user = JFactory::getUser();

include_once (JPATH_ROOT."/plugins/user/zygo_profile/zygo_helper.php");

// ID поля. На вкладке "Плагин" в настройках плагина для каждого поля после
// строки "Название поля" указан его ID
$fid = 1;

// Значение определенного поля в том виде, в котором оно хранится в базе данных
$field = ZygoHelper::getFieldData($fid, $user->id);

// Если тип поля в настройках плагина выбран "Текстовое поле", можно в нужном месте сделать echo $field;
?>
 
<div>
  <input name="skype" type="hidden" value="<?php echo $field; ?>" title="" class="kakoy-to_class" id="skype" />
</div>

*

T34

  • Новичок
  • 9
  • 1 / 0
Низкий Вам поклонище, дорогая Зья!  Оно заработало! :D

А вытянуть подобным образом из "#____user-profiles" те значения, которые туда вписаны стандартным профилем Joomla! и в нём же отображены — это возможно?
*

T34

  • Новичок
  • 9
  • 1 / 0
Дорогая Зья, объясните чайнику, пожалуйста, какую переменную тут выводить? Потому что я наитием попробовал вот так извернуться:

Код: php
<?php
$user = JFactory::getUser();

include_once (JPATH_ROOT."/plugins/user/zygo_profile/zygo_helper.php");

$uinfo = ZygoHelper::getUserInfo($user->id);
echo str_replace('"', "", $uinfo["profile.skype"]);

echo $uinfo;
?>

— получилась ахинея чудовищная.  :'(
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
Смотрите, все просто:
1) получаете объект, содержащий все переменные профилей для конкретного пользователя
Код: php
$uinfo = ZygoHelper::getUserInfo($user->id);

2) Получаете конкретную переменную, содержащую значение конкретного поля (расписываю подробно):
Код: php
$fieldname = "skype";
$field_value = str_replace('"', "", $uinfo["profile.".$fieldname]);

3) Выводите значение этой переменной в том месте, где вам надо:

Код: php
echo $field_value;
*

T34

  • Новичок
  • 9
  • 1 / 0
Спасибо большое, теперь понятно! Получился такой скрипт:

Код: php
<?php
$user = JFactory::getUser();
 
include_once (JPATH_ROOT."/plugins/user/zygo_profile/zygo_helper.php");
 
$uinfo = ZygoHelper::getUserInfo($user->id);

$fieldname = "city";

$field_value = str_replace('"', "", $uinfo["profile.".$fieldname]);

echo $field_value;
?>

И всё в нём хорошо, за исключением вывода результата кракозябрами: \u041c\u043e\u0441\u043a\u0432\u0430
Дорогая Зья, это как-то можно вылечить до нормального кириллического вида?
*

T34

  • Новичок
  • 9
  • 1 / 0
Спасибо за идею! Попробовал напрячь старика Джейсона:

Код: php
<?php
$user = JFactory::getUser();
 
include_once (JPATH_ROOT."/plugins/user/zygo_profile/zygo_helper.php");
 
$uinfo = ZygoHelper::getUserInfo($user->id);

$fieldname = "city";

$field_value = str_replace('"', "", $uinfo["profile.".$fieldname]);

echo json_decode($field_value);
?>

Кракозябры не появляются. Вообще ничего не появляется. :(
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
b2z, благодарю за участие

Маленькое уточнение (убираем str_replace, если делаем json_decode):
Код: php
<?php
$user = JFactory::getUser();
 
include_once (JPATH_ROOT."/plugins/user/zygo_profile/zygo_helper.php");
 
$uinfo = ZygoHelper::getUserInfo($user->id);
 
$fieldname = "city";
 
$field_value = json_decode($uinfo["profile.".$fieldname]);
 
echo $field_value;
?>
*

T34

  • Новичок
  • 9
  • 1 / 0
Вот это совсем другое дело!  :D

Дорогая Зелёная Зья, Вы просто волшебница какая-то! Я весь интернет облазил, читая по-английски, по-итальянски и даже через Гугл-колоду по-немецки тяжкие стенания граждан, влекомых желанием хоть что-то вытащить из злосчастной "#________user-profiles" таблички. И ни у кого не получилось.

А у Вас РРРРАЗ — и получилось! Легко и элегантно.

Снимаю шляпу и раскланиваюсь, шурша её перьями по паркету.  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Бесплатная система фильтрации полей Joomla

Автор zikkuratvk

Ответов: 178
Просмотров: 8949
Последний ответ 16.06.2019, 19:52:40
от AlekVolsk
Плагин Яндекс Доставка для VirtueMart 3

Автор draff

Ответов: 2
Просмотров: 72
Последний ответ 14.06.2019, 16:06:59
от draff
SM FAQ - компонент Вопрос-Ответ для Joomla 2.5+

Автор SmokerMan

Ответов: 677
Просмотров: 113730
Последний ответ 11.06.2019, 13:30:36
от roymustafa
SW JProjects - Менеджер цифровых проектов для CMS Joomla!™

Автор Septdir

Ответов: 10
Просмотров: 565
Последний ответ 28.05.2019, 13:08:01
от Septdir
JYProExtra - Улучшения для Joomla YooThemePRO

Автор Septdir

Ответов: 3
Просмотров: 278
Последний ответ 27.05.2019, 17:32:36
от Septdir