[UserProfile2] - профиль пользователя.

предлагаю потестировать тут — userprofile2.vgrish.ru/
Из нового:
— все страницы формируются динамически (VirtualPage)
— Поддержка различных профилей пользователя
— Профиль, табы, поля — все формируется в админке в удобном интерфейсе

Общая информация
При установке компонент подтягивает из репозитория пакет [pdoTools] и [VirtualPage] — они необходимы для работы компонента. Так же создается базовый шаблон на основе пакета [Theme.Bootstrap] — кому необходимо устанавливаем ручками.

Действия после установки
После установки нужно активировать активные маршруты. Идем в настройки VirtualPage

нужному маршруту выставляем обработчик и событие. (обработчики и маршруты создаются при установке пакета. Вам нужно только выставить их соответствие.)
Вот и все — базовая настройка закончена, у вас должна быть страница список пользователей по адресу site.name/users/.
Остальные страницы — информация, заметки, комментарии и настройки формируются динамически.

UserProfile2 :: Настройки
— Тип поля

Задаете тип поля для вашей новой характеристики пользователя. Указываете тип поля в админке MODx и тип поля на фронте сайта. Обзываете как вам удобно. Пока подробно не прорабатывал этот момент, но по идее можно комбинировать поля как угодно.
— Тип вкладки

Доступен следующий функционал:
— создание / удалении вкладки
— сортировка вкладок
— создание и удаление полей во вкладках, по типу созданному ранее
— сортировка полей
— задание различных свойств
— Тип профиля

Поддержка различных профилей пользователя. У каждого профиля — свой набор вкладок и всевозможных полей.
Возможность смены профиля пока что реализована только для админки сайта


Сниппеты
— up2Users
Взят сниппет pdoUsers и добавлена работа с собственными таблицами. Больше информации можно почерпнуть тут

— up2UserSmallInfo
Краткая инфа о пользователе. Доступны данные из таблиц modUser, modUserProfile и up2Profile. Всю нужную информацию можно вывести на фронт сайта. Трудится pdoTools

— up2UserTotal
Подсчет актуального кол-ва заметок, тикетов и избранного пользователя.

— up2UserLinkSections
Вывод шапки с ссылками. Функционал очень прост.


— up2UserInfo
Вывод информации о пользователе. Помимо вывода данные из таблиц modUser, modUserProfile и up2Profile формирует табы профиля.


— up2UserEdit
Вывод информации о пользователе, а так же включает возможность ее редактирования.


— up2EmailConfirm
Вспомогательный сниппет для смены email пользователя. Обрабатывает переход по нужной ссылке с hash и редиректит пользователя по заданному вами направлению.

ВНИМАНИЕ: Возможны всеразличные баги и косяки как данного пакета, так и VirtualPage потому НЕ РЕКОМЕНДУЮ к установке на жизненно важных проектах.
ТРЕБУЕТСЯ php >=5.4 !!!

Компонент в репозитории modstore.pro.
ps. Вкратце все.
Володя
Володя
07 апреля 2015, 09:46
modx.pro
13 316
Поблагодарить автора Отправить деньги

Комментарии: 103

Wassi Wassinen
07 апреля 2015, 13:08
Дополнение не конфликтует с Office?
    Володя
    07 апреля 2015, 13:21
    помню ты писал о конфликтах каких то, офис там специально для этого поставил, но еще ничего не проверял…
        Wassi Wassinen
        07 апреля 2015, 13:24
        Да, всё верно, Володя. Василий выставил приоритеты ниже для userProfile и Office заработал (авторизация). Но перестал работать userProfile (отображение страниц).
          Володя
          07 апреля 2015, 13:33
          этого я вообще еще не делал.
          Сделал вот так
          думаю конфликтов теперь не будет.
            Wassi Wassinen
            07 апреля 2015, 14:50
            Спасибо. А можно как-то проверить? Можешь вывести авторизацию через офис на тестовом сайте?
Володя
07 апреля 2015, 16:25
немного скриншотов




Собрать пакет пока можно с гитхаб github.com/vgrish/userprofile2
Всем спасибо за внимание!
    Сергей Шлоков
    17 апреля 2015, 09:45
    Володь, вот такая ошибка вылазит при переустановке (install->uninstall->install)
      Сергей Шлоков
      17 апреля 2015, 09:59
      Причем теперь сайт поломался.
        Володя
        17 апреля 2015, 10:19
        ну он ругается оттого что пытается заново virtualpage установить, а он уже стоит… Сайт от этого не должен никак поломаться.
          Сергей Шлоков
          17 апреля 2015, 10:20
          Я понимаю, что не должен, но поломался. Поднял из бэкапа. Щас работает. Могу попробовать еще раз.
            Володя
            17 апреля 2015, 10:22
            попробуй
              Сергей Шлоков
              17 апреля 2015, 10:41
              Опять поломался. Ошибка 500
              В процессе установки ругался на все файлы pdoTools, якобы не хватает прав. Но на все папки стоит 755.
              ....
              Could not copy /home/i/site/dev-su/public_html/core/packages/pdotools-1.11.1-pl/modCategory/752af6caf1d07f1a046b2ad34cc48d58/2/ to /home/i/site/dev-su/public_html/core/model/modx/pdotools
              pdoTools was successfully installed
              Trying to install VirtualPage. Please wait...
              Загрузка рабочего пространства пакета...
              Рабочее пространство загружено, сейчас устанавливаем пакет...
              VirtualPage was successfully installed
              PHP notice: Undefined index: package_action
              PHP notice: Undefined index: package_action
              PHP notice: Undefined index: package_action
              Успешно установлен пакет userprofile2-1.0.2-beta
              П.С. При переустановке ругается только на VirtualPage, с pdoTools почему-то проблем нет. Странно.
                Володя
                17 апреля 2015, 11:12
                хз, время будет — постараюсь выяснить отчего это.
                Попробовал на modhost.pro/ погонял в различных сочетаниях — установку/удаление/переустановку… Да, ругань проскакивает, но все работает в штатном режиме, сайт не ломается…
              Сергей Шлоков
              17 апреля 2015, 11:12
              Кажись причина в этом
              VirtualPage for php: ">=5.4.0"
              Сорри за глупость. :) Щас переставлю с 5.3 на 5.4 и еще разок попробую.
                Сергей Шлоков
                17 апреля 2015, 11:17
                На 5.4 работает. Еще раз сорри.
          Дмитрий
          21 мая 2015, 12:09
          «Пока подробно не прорабатывал этот момент, но по идее можно комбинировать поля как угодно.»
          Отсутствует
          <select><option>
            Sergey Leleko
            25 мая 2015, 19:34
            Может глупый вопрос, но как осуществляется работа со своими таблицами? Компонент создает сам при создании полей или все таки как обычно делается в ручную и потом привязывается как-то?
              Володя
              25 мая 2015, 20:29
              можно взять и попробовать.
              все на автомате…
            Sergey Leleko
            25 мая 2015, 20:30
            Возникла одна странность, поставил сам компонент и сайт умер, белый экран без кода. Наверно пхп староват? pdotools стоял ранее но старенький, щас поставился 2.0.0.
              Володя
              25 мая 2015, 20:34
              php >=5.4
              попробуй зайти в админку с
              ?vp_die=1
              и отключи плагин virtualPage
                Sergey Leleko
                25 мая 2015, 20:39
                Не получилось, но понял, благодарю
                  Sergey Leleko
                  27 мая 2015, 22:22
                  c php все решилось обновлением.
                  Подскажи пожалуйста, из коробки как именно происходит обращение к профилю пользователя через VirtualPage? Я посмотрел в VirtualPage на созданные по умолчанию правила, но они без обработчиков и событий.
                  И еще не нашел информации что такое «Динамический ресурс» и как его применять можно?
                    Володя
                    28 мая 2015, 09:24
                    правила все подписаны, выставь для каждого правила соответствующий обработчик.
                    Динамический ресурс — страница формируемая налету, согласно выставленному обработчику.
                    пример страницы — userprofile2.vgrish.ru/users/59/
            Sergey Leleko
            29 мая 2015, 18:22
            А что может означать No user при попытке вывода сниппета up2UserSmallInfo если при этом во фронте авторизован?
            Сниппеты компонента с какими группами работают?
            Sergey Leleko
            31 мая 2015, 11:55
            Володя, а возможно ли в каком-то из типов полей компонента хранить массив данных?
            Есть идея сделать возможным хранить список изменений определенного поля(полей) с датами изменений
              Sergey Leleko
              01 июня 2015, 19:23
              Объясни пожалуйста, как работает
              [[!up2UserLinkSections?
              &user_id=`[[!+vp.user_id]]`
              &plSection=`[[!+vp.section]]`
              ]]

              откуда параметр vp.section приходит?

              разобрался)
              Sergey Leleko
              02 июня 2015, 14:25
              [[up2UserLinkSections]]
              Выводит вкладки, их возможно из админки менять? Там где вкладки для профилей пользователя, это не то судя по всему
              Sergey Leleko
              02 июня 2015, 14:35
              Кстати из фронта как-то можно работать с несколькими профилями пользователя?
              Вывести, редактировать
                Sergey Leleko
                07 июня 2015, 15:32
                Привет!
                Возможно ли как-то получить содержимое своих созданных для вкладки полей?
                В плейсхолдер например
                  Володя
                  08 июня 2015, 20:44
                  Привет, где и что ты хочешь получить?
                  Напиши в скайп, мы вроде там общались…
                  Павел
                  11 июня 2015, 11:28
                  А можно ли как нибудь объединить этот компонент с HybridAuth?
                  Мне по сути нужно просто добавить в профиль возможность объединять соц.сети и сервисы ([[!haProfile]])
                    Александр Н
                    17 июня 2015, 02:34
                    Если обработчики (информация, заметки, комментарии ...) вызываются кеширумыми — постоянно слетают лексиконы
                      Александр Н
                      17 июня 2015, 02:52
                      Остальные лексиконы тоже почему то слетели, видимо кешируются. Из настроек менял только ссылки
                        Володя
                        17 июня 2015, 08:48
                        будет время посмотрю, у меня ничего не слетает…
                          Александр Н
                          15 июля 2015, 01:14
                          Мучаю список пользователей. Вызываю кэшированным и не кэшированным — независимо от этого периодически после обновления кэша слетают все подписи, и вылазит что то типа:
                          up2_registration: 24 2015, 11:15
                          up2_lastactivity: 13 2015, 11:51

                          Не могу понять от чего зависит…
                            Jenya Filimonov
                            03 октября 2015, 20:03
                            Вы смогли решить эту проблему? Тоже постоянно вылазит такое:
                        vincity.info
                        23 июня 2015, 20:14
                        Как то поставить ссылку на автора статьи можно? Имею ввиду в чанке статьи.
                          Володя
                          23 июня 2015, 20:52
                          Если вы ничего не меняли то адрес такого плана
                          /users/84/
                          где число id пользователя.
                            Илья
                            30 августа 2015, 22:18
                            А как сделать такого плана: /users/admin/? Задал вопрос, не знаю, где уместнее
                          vincity.info
                          24 июня 2015, 12:47
                          Еще вопрос. Редирект где то настраивается для переадресации пользователей. К примеру для не зарегистрированных пользователей, сейчас кидает на главную, возможно ли выставить что бы бросало на страницу регистрации?
                            vincity.info
                            25 июня 2015, 17:03
                            При попытке отредактировать пользователя в админке такую ошибку выдает
                            Fatal error: Call to a member function toArray() on null in /core/components/userprofile2/model/userprofile2/userprofile2.class.php on line 302
                            Можно что то с этим сделать?
                              Василий Столейков
                              26 июня 2015, 12:40
                              У меня 3 вопроса:
                              1. Как сделать тип поля выпадающим списком, чтобы можно было заданные значения выбирать из списка?
                              2. Возможно ли импортировать пользователя с расширенными полями? Нужно записывать в базе в поле extend в json-формате? Или можно это сделать программно, используя классы и методы userProfile?
                              3. Как вывести какое-то расширенное поле пользователя в произвольном месте страницы?
                                Володя
                                26 июня 2015, 12:55
                                1. пока никак не делал
                                2. поле extend в таблице up2_profile. Записывайте или сразу в него или пишите сначала в extended таблицу пользователя, а потом перекинете данные. Как бы как удобнее так и делайте.
                                3. пользовать сниппет up2UserSmallInfo или написать свой…
                                  Виктор
                                  25 февраля 2016, 17:00
                                  т.е после манипуляций по созданию поля, руками его дописывать в БД в таблице up2_profile и поле extends?
                                Сергей Лим
                                08 июля 2015, 03:38
                                Почему-то не работает при нажатии на профиль: Not Found

                                The requested URL /users/20/ was not found on this server.
                                  Сергей Лим
                                  24 июля 2015, 05:36
                                  Подскажите как отредактировать стиль [[+tabs]]
                                    Сергей Лим
                                    06 августа 2015, 04:20
                                    Помогите изменить часовой пояс (Активность пользователя)
                                      Александр
                                      15 августа 2015, 14:45
                                      День добрый.
                                      После установки компонента, при попытке отредактировать существующего пользователя загружается страница без содержимого, в отчете об ошибках появляются следующие строчки:
                                      [2015-08-15 11:27:11] (ERROR @ /manager/index.php) Error HY000 executing statement:
                                      INSERT INTO `modx_up2_profile` (`id`, `type`, `registration`, `lastactivity`, `ip`) VALUES (2, 1, '2015-08-15 11:27:11', '2015-08-15 11:27:11', '217.66.156.33')
                                      Array
                                      (
                                          [0] => HY000
                                          [1] => 1364
                                          [2] => Field 'lastname' doesn't have a default value
                                      )
                                      
                                      [2015-08-15 11:27:11] (ERROR @ /manager/index.php) Error HY000 executing statement:
                                      INSERT INTO `modx_up2_profile` (`id`, `type`, `registration`, `lastactivity`, `ip`) VALUES (2, 1, '2015-08-15 11:27:11', '2015-08-15 11:27:11', '217.66.156.33')
                                      Array
                                      (
                                          [0] => HY000
                                          [1] => 1364
                                          [2] => Field 'lastname' doesn't have a default value
                                      )
                                        Александр
                                        17 августа 2015, 11:42
                                        Отключил AjaxManager, на который и грешил, дополнение заработало, но не отображаются вкладки в профиле пользователя.
                                        Консоль показывает ошибку
                                        spec.js:2 Uncaught ReferenceError: describe is not defined
                                          Александр
                                          17 августа 2015, 12:22
                                          После переустановки пакета кодировкам на сайте пришел пушистый зверек
                                          Владимир
                                          21 августа 2015, 11:41
                                          Проблема с редактированием профиля (сайт) — не отображается выбор профиля (хотя он и не нужен), не сохраняется имя пользователя, хотя всплывает сообщение об успешном сохранении… пробовал на латинице, русском, разное количество символов. Как уже было написано выше — проблема с лексиконами. Пользователь регистрируется через HybridAuth
                                            Владимир
                                            21 августа 2015, 13:12
                                            Еще ошибка… не отображался текст комментария в соответствующей вкладке. В чанке up2.comments.user.main заменил:
                                            &element=`TicketLatest`
                                            на
                                            &element=`getComments`

                                            теперь нормально.
                                            Кирилл
                                            06 сентября 2015, 22:50
                                            В какой-то момент (возможно, после обновления пакета до 1.0.7-beta) перестала отображаться вкладка Uprofile2 в админке при редактировании пользователей и на фронте не отрисовываются созданные табы, только встроенные поля из профиля.
                                            В логах:
                                            No foreign key definition for parentClass: modUser using relation alias: up2Profile
                                            В админке падает в userprofile2.class.php (в OnUserFormPrerender) на стр. 764:
                                            $user->getOne('up2Profile')
                                            Видимо, побились описания foreign-ключей у modUser и up2Profile. Пробовал переустанавливать \ ставить пакет на чистую систему, не работает все равно. Это только у меня такая проблема или все таки в пакете где-то сломалось что-то?
                                              Володя
                                              07 сентября 2015, 09:03
                                              да, при сборке косянул…
                                              Спасибо, поправил и отправил в репо.
                                                Кирилл
                                                07 сентября 2015, 14:33
                                                понятно, а версия пакета не поменялась? в репах пока 1.0.7-beta от 1.09.2015
                                                  Кирилл
                                                  07 сентября 2015, 20:24
                                                  Что-то до сих пор не пришло обновление и в репозитории без изменений…
                                                    Andrei D.
                                                    19 апреля 2016, 13:33
                                                    Привет, не подскажешь, как вывести в tab расширенные поля?
                                                  Александр Н
                                                  07 сентября 2015, 22:56
                                                  После обновления ошибка. Что предпринять?
                                                  (ERROR @ /index.php) No foreign key definition for parentClass: modUser using relation alias: up2Profile
                                                    Кирилл
                                                    08 сентября 2015, 10:54
                                                    «А репозитории все обновлялись и обновлялись». Для тех, кому обновление нужно срочно, правим баг ручками:
                                                    в файл
                                                    \путь_к_modx\core\packages\userprofile2-1.0.3-beta\modCategory\сгенерированный_хэш\1\userprofile2\model\userprofile2\metadata.mysql.php
                                                    Дописываем в конец (после строки 16) потерявшийся кусок из предыдущей версии:
                                                    $this->map['modUser']['composites']['up2Profile'] = array(
                                                        'class' => 'up2Profile',
                                                        'local' => 'id',
                                                        'foreign' => 'id',
                                                        'cardinality' => 'one',
                                                        'owner' => 'local',
                                                    );
                                                    После этого нужно зайти в админке в управление пакетами и нажать «Переустановить» UserProfile2
                                                      Jenya Filimonov
                                                      03 октября 2015, 12:39
                                                      Спасибо за этот комментарий. Уже голову за два дня сломал, почему куча всего не работало. Кнопка «выход», не отображались пользователи сайта… Сделал как вы посоветовали — разом исправилось все полностью.
                                                      Сергей
                                                      17 сентября 2015, 19:50
                                                      Как создать страницу и настройками, как у вас на картинке? sucs.ru/users/settings/
                                                        Сергей
                                                        18 сентября 2015, 18:16
                                                        Если быть точнее как настроить вывод (up2UserEdit) после установки не выводится(
                                                        Jenya Filimonov
                                                        04 октября 2015, 09:59
                                                        Кто то смог решить проблему описанную тут?
                                                          Jenya Filimonov
                                                          04 октября 2015, 10:20
                                                          Вроде решилось. Если вызывать «не кэшируемый», то такая проблема не возникает.
                                                          Анастасия
                                                          05 ноября 2015, 14:56
                                                          Добрый день! Подскажите, пожалуйста, каким образом можно вывести ссылку на профиль пользователя?
                                                            Sergey Leleko
                                                            06 ноября 2015, 10:04
                                                            Добрый!
                                                            Формирование ссылки настраивается в компоненте Virtual page который ставиться вместе с User Profile 2.
                                                            В этом компоненте, вернее в его настройках вы найдете уже созданные по умолчанию «пути» для вывода страниц пользователя, тикетов и по моему комментариев. Можно использовать как есть, можно править по своему вкусу как угодно. Хоть ссылки на страницы пользователей как у ВКонтакте.
                                                            Сергей
                                                            02 декабря 2015, 19:02
                                                            Добрый вечер. А можно сделать так чтобы авторизация была бы через facebook и vk?
                                                            angry
                                                            06 декабря 2015, 00:13
                                                            Поставил UserProfile2. Страница списка пользователей формируется нормально. Но дальше по любой ссылке идет отображение главной страницы. Кто сталкивался и что делать?
                                                              angry
                                                              06 декабря 2015, 00:36
                                                              Чуток разобрался. В VirtualPage в обработчиках стоял левый шаблон изначально. Показ профиля заработал.
                                                              Но вот по ссылкам «Настройки» и «Написать» выкидывает на главную…
                                                                Володя
                                                                06 декабря 2015, 10:01
                                                                привет. Попробуй выключить/ включить обработчки в настройках VirtualPage.
                                                              Ильичев Андрей
                                                              20 декабря 2015, 12:56
                                                              День добрый, я может задам глупый вопрос, но как сделать страницу регистрации для нового пользователя?????
                                                                Алексей Федоров
                                                                23 декабря 2015, 11:06
                                                                Установить дополнительный компонент. UserProfile реализует личный кабинет, а не регистрацию
                                                                Ильичев Андрей
                                                                20 декабря 2015, 12:57
                                                                я имею ввиду чтоб на сайте в шапке сделать ссылку на страницу регистрации???????
                                                                  Ильичев Андрей
                                                                  20 декабря 2015, 13:04
                                                                  и нигде нет кнопки «Выход» из профиля
                                                                    Ильичев Андрей
                                                                    20 декабря 2015, 13:08
                                                                    сайт внизу сайта ссылка список юзеров
                                                                      Ильичев Андрей
                                                                      20 декабря 2015, 14:02
                                                                      короче как получить рабочую страницу как у вас с кнопками — вход, выход и тп
                                                                      Дмитрий Сахнов
                                                                      04 февраля 2016, 08:07
                                                                      А как обстоят дела с полями вида select, multiselect, checkbox, radio? Какое-нибудь из них можно использовать? В идеале бы чтоб эти типы полей соответствовали типам предлагаемых при создании TV параметров.
                                                                        Алексей Федоров
                                                                        07 февраля 2016, 13:22
                                                                        Столкнулся с неожиданной проблемой. Виртуальные страницы генерируются без шаблона.
                                                                        Изменял пути на без слеша в конце, со слешем htaccess перекидывает на 404. Теперь страницы показывает, но исходный код выглядит как просто вставленное содержимое чанка. html head body — ничего этого нет. Вероятно, из-за смены адреса в маршруте на безслеша в конце что-то не срабатывает и шаблон не прикрепляется. Где это можно поправить?
                                                                          Алексей Федоров
                                                                          08 февраля 2016, 16:02
                                                                          Володя помог за что ему огромное спасибо) Если кто столкнется с аналогичной проблемой, у меня после удаления и повторной установки VirtualPage в настройках маршрутов остался старый шаблон. Искать их нужно тут

                                                                          Олег
                                                                          05 марта 2016, 19:28
                                                                          Здравствуйте. Можно поинтересоваться когда будет реализован тип профиля для пользователей? )) нужная вещится на данный момент )))
                                                                            Олег
                                                                            08 марта 2016, 21:20
                                                                            Поход не кого уже нету…
                                                                            Rrp2010
                                                                            13 марта 2016, 00:14
                                                                            Не сохраняются настройки профиля, Access denied в файле action.php
                                                                              Andrei D.
                                                                              23 апреля 2016, 11:49
                                                                              Добрый день. Интересует вопрос, как сделать /users/{user_username:[A-Za-z0-9]+}/?
                                                                              Сейчас ошибка Uncaught exception 'FastRoute\BadRouteException'

                                                                              Возможно ли вытаскивать данные из extended fields юзера, а не из extended fields userprofile?
                                                                                Anton
                                                                                04 мая 2016, 12:15
                                                                                Доброго времени суток.
                                                                                У меня возникла такая проблема,
                                                                                при редактировании данных пользователя и последующем сохранении аяксом выдаёт сообщение «не правильный тип профиля». В настройках userprofile2 создал 2 новых профиля user-1 user-2. Пользователи регистрируются через сниппет login и дальше каждый попадает в свой кабинет, который работает через userprofile2!
                                                                                Если кто знает в чём может быть проблема поделитесь мыслями)!
                                                                                Заранее спасибо!
                                                                                  Abu
                                                                                  Abu
                                                                                  05 июня 2016, 12:44
                                                                                  Привет! Подскажите пожалуйста, а нет возможности в админке пользователю самому редактировать свой профиль?
                                                                                    Михаил
                                                                                    13 ноября 2016, 22:10
                                                                                    День добрый. Подскажите, почему плагин убрали из репозитория?
                                                                                      taxsin
                                                                                      29 мая 2017, 15:49
                                                                                      Здравствуйте. А модуль больше не появится? Как можно его установить?
                                                                                      Олег Щавелев
                                                                                      15 ноября 2018, 09:38
                                                                                      Заранее спасибо за помощь

                                                                                      [[!up2UserLinkSections?
                                                                                          &user_id=`[[!+vp.user_id]]`
                                                                                          &plSection=`[[!+vp.Section]]`
                                                                                      ]]
                                                                                      [[!+vp.Section]] — в шаблоне не выводится
                                                                                      prntscr.com/likdwm — настройки VP
                                                                                      prntscr.com/likee0 — не выводиться active

                                                                                      Как вывести active c помощью [[+active]]
                                                                                        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                                        103