К содержанию

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

В продолжение вот этой темы modx.pro/crowdfunding/4539-displaying-user-pages/
компонент реализует профиль пользователя.
В админке добавляется таб

для вывода на фронте набор сниппетов в комплекте.

Описание буду добавлять по мере свободного времени. Пока что кратко изложу.

Настройки

— Включить/ выключить работу компонента
— Алиас страницы профиля
— Скрыть пользователя — id пользователей через запятую
— Скрыть группу — id групп через запятую
— Скрыть неактивных пользователей
— Разрешенные секции — список разрешенных к работе секций, по умолчанию info,tickets,comments,favorites.
неуказанные секции будут выдавать 404

Дополнительные поля
Добавлены следующие поля:
lastname — фамилия (редакт.)
firstname — имя (редакт.)
secondname — отчество (редакт.)
description — (редакт.)
introtext -(редакт.)

registration,lastactivity,ip — заполняются автоматически в админке не редактируются.

Дополнительные поля в extended
Также реализована возможность добавления новых полей в extended. Для этого есть отдельная настройка

Основная действующая на данный момент настройка это — Табы / поле ввода
указывается в виде json строки

{"activity":{"registration":"","lastactivity":"","ip":""},
"personal":{"lastname":"","firstname":"","secondname":""},
"social":{"facebook*":"","odnoklassniki":"","vk":"","mail":"","twitter":""},
"test_tab":{"test_field":"combo-boolean","test_field1":"modx-combo-browser",
"name":"textarea","data":"datefield"}
}
по этой строке формируются табы в админке. Первый параметр таб, затем указываете нужные поля. По умолчанию все поля textfield, можно указать другой тип поля. По этой же настройке выводятся табы на фронте сайта.


Вкратце пока все…

ps. Компонент при установке автоматом подтягивает pdoTools, все сниппеты на его основе.
Если установлен компонент Theme.Bootstrap то при установке будут созданы страницы пользователя с примером вызова сниппетов.

Компонент в modstore.pro
Володя
Володя
19 января 2015, 09:43
modx.pro
10 250
Поблагодарить автора Отправить деньги
Реклама

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

Михаил
Михаил Эксперт
19 января 2015, 12:55
Классно! Спасибо!
    Николай
    Николай Проверенный
    19 января 2015, 13:40
    А где взять то его?
      Константин
      Константин Проверенный
      19 января 2015, 13:57
      Действительно, а где сам компонент, хотелось бы его пощупать.
        Володя
        Володя Эксперт
        19 января 2015, 14:02
        ребят, да как обычно… Отправлено в SimpleDream, пардон в Modstore. Как только — так сразу.
        Седня ж еще какой день то? Правильно — понедельник…
      Wassi Wassinen
      Wassi Wassinen Проверенный
      19 января 2015, 15:32
      Самое-то главное, Володя — компонент реализует вывод страниц пользователей как на modx.pro!
        wgame
        wgame Старожил
        19 января 2015, 19:43
        Компонент работает в связке с office или сам по себе.
          Володя
          Володя Эксперт
          19 января 2015, 20:04
          сам по себе, там нет регистрации, есть только редактирование профиля и все…
            wgame
            wgame Старожил
            19 января 2015, 20:33
            тоесть с office работает без проблем?
              Володя
              Володя Эксперт
              19 января 2015, 20:38
              не знаю, поставьте посмотрите…
                wgame
                wgame Старожил
                19 января 2015, 20:46
                сейчас протестирую отпишусь сразу
          wgame
          wgame Старожил
          19 января 2015, 21:06
          Тест со стороны админа
          по умолчанию заглушка растянута не пропорционально (рис 1)

          после того как изображение загрузил то же самое (рис 2)


          после сохранения профиля и обновлении страницы превью картинки исчезает (рис 3) но сама картинка сама есть


          ip адрес всегда по нулям.
          Немного не понял вкладки личное тк по умолчанию в modx есть поле полное имя
          хотя если нужно разделение конкретно по фамилии имени и отчеству то да.
          Если поля не заполнены они подсвечиваются красным но сохранить профиль можно (рис 4)
            Володя
            Володя Эксперт
            19 января 2015, 21:51
            1. не пропорциональна — принял
            2. пропала картинка, скорее всего / не хватает — принял
            3. ip — заполняется если пользователь залогинился в контексте != 'mgr' — проверьте
            4. по поводу сохранения и подсветки обязательных полей пока так, проверки как таковой нет…
              Alexander V
              Alexander V Проверенный
              20 января 2015, 00:22
              ip — заполняется если пользователь залогинился в контексте != 'mgr' — проверьте
              Чем обоснована такая особенность?
                Володя
                Володя Эксперт
                20 января 2015, 08:04
                плагином на OnLoadWebDocument. А что есть необходимость это делать в контексте mgr?
                  Alexander V
                  Alexander V Проверенный
                  20 января 2015, 11:47
                  В том-то и дело, что нет. Может я что-то не правильно понял?
                    Володя
                    Володя Эксперт
                    20 января 2015, 11:54
                    Сань спроси нормально а? я не совсем понимаю что тебе непонятно или еще что либо…
                      Alexander V
                      Alexander V Проверенный
                      20 января 2015, 14:54
                      Скрина нет, могу только догадываться. Поле IP у пользователя для чего? Видеть с какого адреса заходил? Если так, то почему контекст MGR?
                        Володя
                        Володя Эксперт
                        20 января 2015, 14:57
                        3. ip — заполняется если пользователь залогинился в контексте != 'mgr' — проверьте
                        какой скрин? ты спросил непонятно что… какой скрин я тебе должен показать?
                          Максим Кузнецов
                          Максим Кузнецов Проверенный
                          20 января 2015, 16:01
                          != 'mgr'

                          А что есть необходимость это делать в контексте mgr?

                          Если так, то почему контекст MGR?
                          "!=" — этот символ значит «не равно», поэтому ip проверяется только при авторизации через все другие контексты.
              Денис Богдановский
              20 января 2015, 01:34
              Супер! Спасибо!
                Володя
                Володя Эксперт
                20 января 2015, 08:04
                пожалуйста! )
                Николаевич
                Николаевич Старожил
                20 января 2015, 03:51
                Что-то я рано радовался)
                Parse error: syntax error, unexpected '[' in /core/components/userprofile/model/userprofile/userprofile.class.php on line 550
                Parse error: syntax error, unexpected '[', expecting ')' in /core/components/userprofile/model/userprofile/userprofile.class.php on line 1077
                modx 2.3
                  Володя
                  Володя Эксперт
                  20 января 2015, 08:16
                  php версия какая? что за сервер?
                    Іван Клімчук
                    Іван Клімчук Администратор
                    20 января 2015, 08:59
                    явно ниже 5.4, ругается на краткую нотацию array — []. У меня в последнее время самая частая ошибка, так как пишу на 5.6, а поддерживать приходится хостинги на 5.3.

                    Как вариант, в скрипте установки делать проверку и останавливать установку с сообщением, что версия ниже допустимой. Пока так не делал, но можно. Ну или в старой нотации писать для поддержки старья.
                      Володя
                      Володя Эксперт
                      20 января 2015, 09:10
                      ставлю на локалхост… )
                        Василий Наумкин
                        Василий Наумкин Администратор
                        20 января 2015, 10:20
                        У меня до сих пор для всех проектов в PhpStorm стоит PHP 5.3.

                        Из 5.4+ не использую ничего.
                          Іван Клімчук
                          Іван Клімчук Администратор
                          20 января 2015, 11:07
                          для modx хватает, не спорю, но я еще и на laravel пишу и экспериментирую и новые плюшки очень хороши. И это я не говорю о производительности. Когда onliner.by перевели на php 5.6, производительность выросла просто на пустом месте процентов на 20-30% (в среднем).
                            Василий Наумкин
                            Василий Наумкин Администратор
                            20 января 2015, 11:41
                            Вряд ли из-за того, что вместо array() стали писать []? То есть, новый PHP быстрее не из-за того, что там есть более продвинутый синтаксис и прочие плюшки.

                            У нас хостинг тоже летает на PHP 5.5, но дополнения должны работать и на 5.3, к сожалению.
                              Іван Клімчук
                              Іван Клімчук Администратор
                              20 января 2015, 13:06
                              так я ж и не говорю, что только из-за []. Выше проблема как раз в том, что использовали синтаксис 5.4, когда на сервере 5.3 или ниже.

                              Писать [] вместо array() у меня вошло в привычку после работы в onliner.by, так как там код писали по PSR, но новую версию не только из-за этого я использую. А в остальном да, приходится адаптировать под 5.3, хотя у нашего одного крупного белорусского хостера есть возможность переключить на 5.5 версию. Если учесть, что БД на SSD дисках, то с MODX можно работать.
                        Николаевич
                        Николаевич Старожил
                        20 января 2015, 12:54
                        5.3.29
                        А как можно обойти эту ошибку?
                          Іван Клімчук
                          Іван Клімчук Администратор
                          20 января 2015, 13:07
                          Либо обновить версию до 5.4 и выше либо дождаться, когда автор исправит это в самом компоненте.
                            Максим Кузнецов
                            Максим Кузнецов Проверенный
                            20 января 2015, 13:59
                            … либо исправить самому)
                              Николаевич
                              Николаевич Старожил
                              20 января 2015, 14:00
                              Спасибо, но обновится никак. Сайт на хостинге hoster.by
                              Одна надежда на Володю
                                Іван Клімчук
                                Іван Клімчук Администратор
                                20 января 2015, 14:06
                                на hoster.by как раз таки можно.


                                  Николаевич
                                  Николаевич Старожил
                                  20 января 2015, 14:08
                                  Опа) Я думал данную функцию нельзя самостоятельно проворачивать) Спасибо! А какую версию посоветуете ставить?
                                    Іван Клімчук
                                    Іван Клімчук Администратор
                                    20 января 2015, 14:18
                                    я ставил последнюю — 5.5, все ок, по работе и по скорости
                                      Николаевич
                                      Николаевич Старожил
                                      20 января 2015, 14:33
                                      Как оптимальнее галочки проставить?

                                        Іван Клімчук
                                        Іван Клімчук Администратор
                                        20 января 2015, 15:40
                                        я думаю, вам не стоит об этом думать, если вы не знаете каждую конкретную настройку и для чего она. Там уже оптимальные настройки
                        Володя
                        Володя Эксперт
                        20 января 2015, 09:10
                        — поправил аватарки и для локальных прикрутил phpthumb
                        — поправил проверку группы пользователя

                        обновление скинул в репо
                          Leonid Krylov
                          Leonid Krylov Проверенный
                          20 января 2015, 22:29
                          Обновлен.
                          Чупакабра
                          Чупакабра Старожил
                          20 января 2015, 18:32
                          За что отвечает [[!+user_id]]?
                          Просто в независимости от того. залогинен я в web или нет, он постоянно выводит 0
                            Николаевич
                            Николаевич Старожил
                            21 января 2015, 15:13
                            Поменял алиас и теперь адрес профиля выглядит так: site.com/id/111
                            Есть ли возможность убрать слеш после id, чтобы выглядело как site.com/id111
                              Володя
                              Володя Эксперт
                              21 января 2015, 15:14
                              нет
                                Wassi Wassinen
                                Wassi Wassinen Проверенный
                                23 января 2015, 16:50
                                По-идее, в ТЗ шаблонизацию закладывали.
                              Asert
                              Asert Старожил
                              23 января 2015, 14:58
                              Отличное дополнение. Спасибо. Как ссылку вывести на профиль пользователя?
                                Николаевич
                                Николаевич Старожил
                                24 января 2015, 01:48
                                <a href="[[+main_url]]/[[!+user_id]]/">[[+fullname]]</a>
                                Asert
                                Asert Старожил
                                23 января 2015, 15:52
                                В профиле на сайте не дату регистрации показывает а не понятно какую дату, откуда она вообще берется эта дата.
                                  Николаевич
                                  Николаевич Старожил
                                  24 января 2015, 01:46
                                  Гы) Я тоже поначалу не мог догнать. Насколько я понял, регистрация — это первая авторизация пользователя с момента установки UserProfile
                                  Иван Бочкарев
                                  Иван Бочкарев Администратор
                                  27 января 2015, 12:35
                                  Данное дополнение конфликтует с установленным ajaxmanager-1.2.0-pl.
                                  Переходим в меню — Пользователи -> выбираем пользователя -> кликаем редактировать = получаем страницу пустую страницу с заголовком в админке — Новый пользователь

                                  Скриншот: take.ms/Raif6

                                  Отключаешь ajaxmanager — все ОК.
                                    Иван Бочкарев
                                    Иван Бочкарев Администратор
                                    27 января 2015, 15:10
                                    После того как пользователь внес данные в поля — в админке не возможно просмотреть данные по пользователю — take.ms/zsN1I получаю пустую страницу.
                                      Василий Столейков
                                      Василий Столейков Проверенный
                                      28 января 2015, 15:39
                                      Да, помогает только обновление на F5 после нажатия на редактирование пользователя
                                      Василий Столейков
                                      Василий Столейков Проверенный
                                      28 января 2015, 16:10
                                      В чанке сниппета upUsers не хватает плейсхолдера [[+idx]] для вывода порядкового номера пользователя.
                                        Василий Столейков
                                        Василий Столейков Проверенный
                                        28 января 2015, 16:17
                                        Также было бы неплохо, чтобы из коробки была возможность выводить статус пользователя: онлайн/оффлайн. Допустим, если lastactivity в последние 20 минут неактивно, то в какой-то плейсхолдер вбивается статус пользователя (1/0).
                                          Василий Столейков
                                          Василий Столейков Проверенный
                                          28 января 2015, 16:22
                                          Ещё можно добавить вывод принодлежности пользователя к группе/группам (учитывая что их может быть несколько).
                                            Alexander V
                                            Alexander V Проверенный
                                            28 января 2015, 20:30
                                            А их может быть несколько?
                                          Роман
                                          Роман Старожил
                                          28 января 2015, 20:11
                                          Друзья, так как убрать ошибку?????????? Конечно без манипуляций с версиями php на хостинге!
                                          Parse error: syntax error, unexpected '[', expecting ')' in /srv/sites/exemplesite.ru/core/components/userprofile/model/userprofile/userprofile.class.php on line 1081
                                            Гриневич Александр
                                            06 февраля 2015, 10:43
                                            Отличный компонент, Спасибо! Подскажите как можно вывести поле из табов, например «test_field» из примера.
                                              Володя
                                              Володя Эксперт
                                              06 февраля 2015, 10:52
                                              Это дополнительные поля в extended и вывести можно просто
                                              [[+extended.test_tab.test_field]]
                                              т.е. extended.таб.поле
                                            Wassi Wassinen
                                            Wassi Wassinen Проверенный
                                            26 февраля 2015, 20:39
                                            Проблема в том, что плагин UserProfile, почему то реагирует на тоже самое действие, что и Office.
                                            То есть, Office вообще не обрабатывал выход пользователя с сайта, это делал другой плагин, которому указанные контексты в Office без разницы.

                                            Почему другой плагин реагирует на действие «auth/logout» — нужно спросить у его автора. Лично я специально использовал названия через косую, чтобы не совпадало ни с «logout» ни c «auth_logout», ни с какими другими параметрами сторонних плагинов.
                                            Правда, судя по коду UserProfile — там очень много взято как раз из Office, поэтому и действия совпадают.

                                            В общем, поставил UserProfile более низкий приоритет, чем Office и всё заработало.


                                            Нужно фиксить.

                                            И, Володя, не увидел ссылки на github + нет внятной документации.
                                              Wassi Wassinen
                                              Wassi Wassinen Проверенный
                                              01 марта 2015, 15:09
                                                Константин Ильин
                                                07 марта 2015, 17:24
                                                Отличный компонент, сыроват но все же!!!

                                                Как добавить описание к полю?

                                                т.е. я создал доп поле
                                                work

                                                в профиле он отображается как:
                                                up_field_work:

                                                как заменить up_field_work: на Должность
                                                тот же вопрос к закладке?

                                                В словаре нет пространства userprofile
                                                Рустам С
                                                Рустам С Старожил
                                                21 марта 2015, 02:38
                                                а как связать с hybridauth чтоб показывал в табах соц.сетей — ссылки на профили из hybridauth
                                                  Сuriosity
                                                  Сuriosity Проверенный
                                                  21 марта 2015, 18:33
                                                  Parse error: syntax error, unexpected '[', expecting ')' in /core/components/userprofile/model/userprofile/userprofile.class.php on
                                                  Володя, та же беда…
                                                  Вы б нашли время поправить… (:
                                                  Потому как не мало проектов стоит на PHP 5.3
                                                  adminixi
                                                  adminixi Проверенный
                                                  28 апреля 2016, 17:04
                                                  Есть возможность разрешить редактировать пользователю только те ресурсы, которые он создал и никакие другие?
                                                    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                    77