loginSetting - быстрая настройка авторизации в MODX на основе Login

К сожалению Office дорогой и для авторизации я часто использую Login. Но его довольно долго настраивать и мне это уже надоело. Сделал пакет для быстрой настройки Login.
Создаются все необходимые страницы Регистрация, Востановление пароля, Личный кабинет, Профиль и сменить пароль и чанки. Настроенные и переведенные. На bootstrap 4.
Дополнительно ставиться Login,Theme.Bootstrap и pdoTools. На страницах сайта включается femon.
Внимание! страницы создаются с id со 100 по 106. Если у вас на сайте больше 100 страниц, то страницы не создадутся.
Я делал пакет для сайта на котором уже есть 20 страниц. Для себя можете пересобрать пакет с другими id страниц.
При использовании думаю пакет лучше адаптировать под себя https://github.com/touol/loginSetting


Александр
20 июня 2021, 17:16
modx.pro
2
675
+6
Поблагодарить автора Отправить деньги

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

Артур
20 июня 2021, 17:19
0
Спасибо, думаю будет очень полезно, а как установить?)))
    Александр
    20 июня 2021, 17:34
    0
    Хм… Пакет в модсторе на модерации. Как пройдет модерецию можно будет с него ставить. Но, конечно, лучше под себя отредактировать все. Это делаете копию c github в ваш_сайт/Extras, редактируете и устанавливаете из браузера ваш_сайт/Extras/loginSetting/_build/build.php. На рабочем сайте ваш_сайт/Extras удалить!!!
      Артур
      20 июня 2021, 19:41
      0
      А после установки чанки отредактировать нельзя?
        Александр
        20 июня 2021, 19:44
        0
        Можно конечно. Просто может вам свой пакет нужен, чтоб ничего потом не редактировать.
          Артур
          20 июня 2021, 19:48
          0
          Такое тоже возможно))) Спасибо!!!
    Сергей Шлоков
    21 июня 2021, 06:17
    0
    Вообще, хорошим тоном считается тянут как можно меньше зависимостей. А тут аж целый две лишних.
      Александр
      21 июня 2021, 17:03
      0
      блин ответ писал развернутый и ошибка выскочила. Вообщем сборка под себя и если у кого-то те же предподчения то им пойдет. А тем кому не подойдет пусть свою сборку пишут. Всем не угодишь.
        Кирилл Киселев
        03 июля 2021, 06:42
        0
        А про какие зависимости речь?
          Сергей Шлоков
          03 июля 2021, 07:11
          +2
          Theme.Bootstrap и pdoTools. Зачем они нужны в пакете совершенно не ясно. Но очевидно, что данный пакет выдернут из текущего проекта автора без какой-либо подготовки для универсального использования (что как бы подразумевается для пакетов). Даже айдишки жестко зашиты. Т.е. я не рекомендую использовать данный пакет (пусть простит меня автор за моё мнение). Я бы такой пакет не одобрил.
            Александр
            03 июля 2021, 20:30
            0
            pdoTools просто чтоб был. Мне он нужен. А Theme.Bootstrap — это готовая верстка шаблона. В личный кабинет подтягивается шаблон из Theme.Bootstrap и под него верстка чанков Login делается. Без Theme.Bootstrap компонент вообще нельзя было бы написать. Проблема в том какую верстку под страницы писать.
            для универсального использования (что как бы подразумевается для пакетов)
            Такой пакет как этот нельзя сделать для универсального использования. На каждом сайте своя верстка.
        Кирилл Киселев
        03 июля 2021, 06:39
        0
        Очень рисково включать fenom после установки, т.к. сайт может повалиться из-за инлайновых скриптов или инлайновых JS атрибутов, где стоит фигурная скобка и после неё символ :)
        На страницах сайта включается femon.
        Интересно же почему так? При создании объектов железно прописываешь им айди?
        Внимание! страницы создаются с id со 100 по 106. Если у вас на сайте больше 100 страниц, то страницы не создадутся.
          Сергей Шлоков
          03 июля 2021, 07:19
          0
          Бегло пробежался по коду. pdoTools подключается только для использования сниппета pdoMenu. Зачем нужно включать феном вопрос.
            Александр
            03 июля 2021, 20:21
            0
            Очень рисково включать fenom после установки, т.к. сайт может повалиться из-за инлайновых скриптов или инлайновых JS атрибутов, где стоит фигурная скобка и после неё символ :)
            Я предупредил, что включается, а использовать пакет или нет ваше дело. Или собрать свой без фенома.
            Интересно же почему так? При создании объектов железно прописываешь им айди?
            Это с modExtra пошло. Он назначает у ресурсов id автоматически с 1, чтобы родителей ресурсов прописывать. github.com/bezumkin/modExtra/blob/8295c2a6e987a0427c40ade90acb594be28b5696/_build/build.php#L614
            Я просто прописал свои id чтобы на не перезаписывать ресурсы что уже были.
            Артем
            03 июля 2021, 14:27
            +1
            Внимание! страницы создаются с id со 100 по 106. Если у вас на сайте больше 100 страниц, то страницы не создадутся.
            Ты это серьезно или пошутить так решил?
            Если ты выкладываешь пакет, то будь добр потратить время и соответствующе его оформить, а не вырезать бесполезный кусок кода со своего проекта. Это, как минимум, дурной тон по отношению к пользователям, которые потратят время на твой пакет в попытках завести его у себя.

            В чем проблема создать эти ресурсы и сохранить их id динамически, это непосильная задача?
            Жаль минус уже поставить нельзя, влепил бы два сразу.
              Александр
              03 июля 2021, 20:36
              -2
              В чем проблема создать эти ресурсы и сохранить их id динамически, это непосильная задача?
              Это проблемная задача. Если хочешь реши ее и всем будет счастье :-). Вообще тон твоего комментария вызывает впечатление, что тебе лишбы погавкать :-). Извиняюсь конечно за прямоту, но вот такое впечатление у меня.
                Артем
                03 июля 2021, 22:55
                0
                Это проблемная задача.
                Расскажешь, что проблемного в том, чтобы взять кусок кода из build.php, отвечающий за создание ресурсов, и дописать к нему сохранение id хоть в свою таблицу, хоть в системные настройки?

                Если хочешь реши ее и всем будет счастье :-)
                А больше тебе ничего не нужно сделать?
                Я бы понял твое предложение, если бы пакет был полезным/удобным и решал бы какую-нибудь задачу, но у новичков с ним возникнет больше головной боли, чем пользы, поэтому не особо понятно, с чего бы там взяться «счастью».

                Вообще тон твоего комментария вызывает впечатление, что тебе лишбы погавкать :-) Извиняюсь конечно за прямоту, но вот такое впечатление у меня.
                Тон оформления твоего «пакета» вызывает впечатление, что тебе лишь бы поговнокодить. Извиняюсь, конечно, за прямоту, но вот такое впечатление у меня.
                  Александр
                  03 июля 2021, 23:38
                  0
                  Расскажешь, что проблемного в том, чтобы взять кусок кода из build.php, отвечающий за создание ресурсов, и дописать к нему сохранение id хоть в свою таблицу, хоть в системные настройки?
                  Ну ну :-). Вообще-то build.php только собирает транспортный пакет и при установке пакета (при создании ресурсов) никак не выполняется. Так что твое предложение лажа :-).
                  но у новичков с ним возникнет больше головной боли, чем пользы
                  Новичкам, наверно, полезно самим настроить login, а не через пакет. И только потом решать пользоваться пакетом или нет.
                  Вообще мне при создании тестовых сайтов и своих требуется авторизация и каждый раз ее с нуля поднимать геморойно. А пакетом быстро поставил и тестируй дальше.
                    Артем
                    04 июля 2021, 01:19
                    0
                    Вообще-то build.php только собирает транспортный пакет и при установке пакета (при создании ресурсов) никак не выполняется.
                    Ты либо между строк читаешь, либо тебе буквально на пальцах все нужно объяснять.
                    Если второе, то объясняю на пальцах:
                    Достаточно понятно объяснил?
                    Я уже не говорю о том, что уже есть сотни готовых резолверов в других пакетах, которые делают примерно то же самое.
                    Так где тут «проблемная задача»?

                    Новичкам, наверно, полезно самим настроить login, а не через пакет.
                    Тогда не представляю, кому еще может понадобиться твое творение, если не новичкам.
                      Александр
                      04 июля 2021, 01:28
                      0
                      Ты либо между строк читаешь, либо тебе буквально на пальцах все нужно объяснять.
                      Ну значит ты не четко выразился. Взять из build.php, вставить в ресолвер, и дописать к нему сохранение…
                      вставить в ресолвер — пропустил, и твое предложение не однозначно читается.
                        Артем
                        04 июля 2021, 01:38
                        0
                        вставить в ресолвер
                        Ты в нижней ветке уже сам примерно то же самое и написал, значит, ты знаешь, как это делается.

                        В любом случае, речь здесь идет о том, что это простая задача и она должна быть решена на уровне пакета, а не на уровне «ну как повезет».
                          Александр
                          04 июля 2021, 02:03
                          0
                          Ну опыт сын ошибок… В следующий раз буду знать, что ресурсы лучше ресолвером создавать. Как-то не приходилось ресурсы в пакет включать.
                  Aleksandr Huz
                  03 июля 2021, 23:25
                  0
                  Это проблемная задача.
                  Если бы это написал новичок, то вопросов не было и то новичок, скорее всего задал бы вопрос или погуглил, а ты уже создал несколько компонентов, поэтому очень странное заявление от тебя.

                  Все что нужно, это получить последний id ресурса и записать в переменную _idx

                  Вариант 1.
                  $q = $this->modx->newQuery('modResource');
                  $q->select('id');
                  $q->sortby('id', 'desc');
                  $q->limit(1);
                  $res = $this->modx->getObject('modResource', $q);
                  $this->_idx = $res->id++;

                  Вариант 2.
                  $table = $this->modx->getTableName('modResource');
                  $sql = "SELECT MAX(`id`) FROM {$table}";
                  $statement = $this->modx->prepare($sql);
                  $statement->execute();
                  $id = $statement->fetchColumn();
                  $this->_idx = $id++;

                  Как видишь, ничего сложного. Поэтому я бы порекомендовал довести до ума компонент или снять его вообще, потому что сейчас это лотерейный пакет, если установиться, значит ты счастливчик и тебе повезло.
                    Александр
                    03 июля 2021, 23:53
                    0
                    Ну от вас такого не ожидал О_О.
                    Build.php только создает vehicle файл в транспортный пакет. И при установке из vehicle ресурсы создаются установщиком MODX без участия какого-то моего кода. Конечно можно написать ресолвер, который после установки выловит id ресурсов по их алиас, и записать их в системные настройки, но еще надо будет опять же ресолвером установить родителей ресурсов.
                    Не такой уж и важный пакет чтоб этим заморачиваться. Я на тестах его использую, а для заказчиков обычно Office ставлю.
                      Aleksandr Huz
                      04 июля 2021, 00:43
                      0
                      И при установке из vehicle ресурсы создаются установщиком MODX без участия какого-то моего кода
                      И что? Пусть ресурсы создаются с правильным id, а во всех чанках вместо
                      [[~103]]
                      указываем переменную и потом при создании чанка меняем переменную на нужный тег. Главное чтобы ресурсы создавались первыми.

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

                      А вообще, компонент может стать и нужным, если его довести до ума. Но, это уже твое дело.
                        Александр
                        04 июля 2021, 00:53
                        0
                        И что? Пусть ресурсы создаются с правильным id, а во всех чанках вместо
                        [[~103]]
                        указываем переменную и потом при создании чанка меняем переменную на нужный тег. Главное чтобы ресурсы создавались первыми.
                        Вот это все не понял. В смысле с правильным id? Это с каким?
                          Aleksandr Huz
                          04 июля 2021, 01:58
                          0
                          В одном ты прав, что нет смысла переписывать переменную idx, тут я ошибся.
                          Но, можно указать в атрибуте PRESERVE_KEYS значение false и тогда id ресурсов будет создано динамически, но будет проблема с созданием дочерних ресурсов.
                          Вообщем, лучший вариант — это свой резолвер.
                            Александр
                            04 июля 2021, 02:06
                            0
                            Да ресолвер лучше. Просто не приходилось ресурсы в пакет запихивать и сомнения обуяли :-)
                          Александр
                          04 июля 2021, 00:58
                          0
                          Так зачем было заливать компонент, чтобы каждый его настраивал потом самостоятельно, просто дал бы ссылку на гит и все, и вопросов не было.
                          Уговорили. Убрал с модсторе. Пусть гит юзают.
                          А вообще, компонент может стать и нужным, если его довести до ума. Но, это уже твое дело.
                          Проблема в верстке. Её же универсальной не сделаешь :-(
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  28