ProfileLinkX

30 5 000
Доброе время суток, MODX-еры.

На неделе разрабатывал для одного сайта функционал упоминаний пользователей (как это собственно уже реализовано на modx.pro немалое количество времени. Это когда пишешь в посте/комментарии юзернейм через значок @). По ходу дела возникали интересные ньюансы и пожелания по гибкости настроек, в итоге уже начали обрисовываться очертания для полноценного компонента.

Собственно, какое-то время размышлял, стОит ли дооформить и делать компонент платным. Но в свете последних событий, популярность MODX сейчас под вопросом, как и то, что его активно будут использовать для создания всяческого рода комьюнити и платформ с межпользовательским взаимодействием. И решил попробовать собрать на краунде небольшую сумму и выложить компонент в бесплатном доступе. Репозиторий исходников так же будет доступен в public на github.

UPD собрано средств:
1799/5000 ₽
199 @iWatchYouFromAfar
200 @Андрей Шевяков
100 @Arahort
1000 @Andrey
300 @Yar

Ну и немного демонстрации

Подсказка юзеров


Выделение совпадений @логинов пользователей в тексте страницы и показ tooltip-ов по наведению (опционально)



А вот собственно доступные настройки



Ну и подробнее про некоторые фичи, дающие гибкость:

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

Подключение необходимых скриптов на фронте.
С помощью настройки profilelinkx_env установленной в default необходимые JS-библиотеки (tippy.js, textcomplete) подключаются по старинке во время инициализации скрипта, который в свою очередь по классике подключается вызовом сниппета [[!ProfileLinkX]] на нужных страницах/чанках.

Но т.к. в последнее время набирают популярность сборщики для автоматизации/минификации js/css-бандлов (webpack, gulp), то есть возможность переключить эту настройку и ограничиться инициализацией основного скрипта, а нужные libs подключать и собирать самостоятельно.

Подмена в контенте @username на @fullname
По сист.настройке и если такой был задан у юзера в профиле

__
И из используемых зависимостей — jQuery. При должной популярности компонента и потребностях пользователей впоследствии перепишу на чистый современный JS.

P.S. У кого проблемы с сервисом Яндекс.Деньги — пишите в личку, предложу другие варианты задонатить.
tolanych
01 сентября 2019, 15:08
modx.pro
3
443
+14
Поблагодарить автора Отправить деньги

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

Михаил
01 сентября 2019, 16:51
1
0
Т.е. компонент готов, но надо либо взять какую то сумму через сбор либо выложить платно? А какова сумма разработки? А то в статье не указано сколько нужно
    tolanych
    01 сентября 2019, 17:08
    +1
    Ну я описал во 2ом абзаце, что решил идти не по пути платного компонента потому что потому, а набрать сумму и выложить его бесплатно.

    5 000 р, в шапочке указано
iWatchYouFromAfar
01 сентября 2019, 17:31
1
0
Я так понял это самодостаточный компонент? Или завязан на Tickets? Т.е. на том компоненте, где есть возможность создавать посты/комментарии?
    tolanych
    01 сентября 2019, 17:44
    +2
    Да, это самодостаточный компонент.

    Подсказка пользователей основана на списке стандартных пользователях из modUser+modUserProfile, повесить её можно на любой тэг textarea

    все встреченные в HTML страницы вхождения @username, если такой username существует и не добавлен в исключения, будут заменяться на паттерн ссылки — для этого используется стандартный MODX-овский event OnWebPagePrerender

    Каким образом уже организовано создание постов/комментариев — не важно, Tickets или самописное решение.

    Если в tooltip-е нужна будет какая-нибудь информация из TicketAuthor (например, рейтинг, количество постов/комментариев), могу доработать компонент, дописать новую настройку, чтобы опционально присоединялась таблица tickets_authors и в чанке были доступны эти поля.

    Не будет это работать со сторонними подключаемыми сервисами, типа Disqus, виджет комментария ВК
      iWatchYouFromAfar
      01 сентября 2019, 18:36
      +1
      Круто! Закинул малеха, авось пригодится когда-нибудь.
Arahort
01 сентября 2019, 21:12
+1
Закинул символическую сумму дабы просто поддержать развитие Modx компонентов
Фарит
01 сентября 2019, 22:36
0
А можно теги так же сделать? Типа как вконтакте или инсте
    tolanych
    02 сентября 2019, 05:54
    +1
    по такому же принципу можно и теги, но этот компонент не про это. он заточен под юзеров
      Фарит
      02 сентября 2019, 18:23
      0
      Сделаете?
        srs
        srs
        02 сентября 2019, 21:49
        0
        Я конечно не автор дополнения но думаю это является ответом:
        этот компонент не про это. он заточен под юзеров
        tolanych
        02 сентября 2019, 22:21
        0
        В ближайшие пару месяцев точно нет. Но открою исходники на github, любой сможет либо форкнуть и по образцу сделать под себя нужный функционал, либо прислать PR в репозиторий
Andrey
02 сентября 2019, 11:05
+2
Лойс, отправлена монетка. Суперполезный инструмент. Если будут донить мало, подумаю о том, что бы в следующем месяце задонить еще. Считаю надо поддерживать авторов таких великолепных подгонов монеткой и чтобы было желание развивать MODX!
Yar
Yar
02 сентября 2019, 12:11
+2
тоже копейку закинул. модх должен жить
elec3c
02 сентября 2019, 14:47
0
Автор, добавь больше способов задонатить. Тоже бы вкинул свою копейку.
    tolanych
    02 сентября 2019, 22:19
    0
    Пиши в ЛС, какую сумму хочешь задонатить, пришлю в ответ альтернативный вариант
Andrey
12 сентября 2019, 12:29
+1
Я не понял, че никто не донит? Ща поправим!

UPD
Отправлено!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
16