modAlertify

Дополнение заменяет уведомления jGrowl (использующиеся в miniShop2, Office, AjaxForm) на AlertifyJS.
modAlertify не заменяет стандартные скрипты дополнений, а только переопределяет методы вывода сообщений.
В системных настройках можно указать заменять ли уведомления каждого из дополнений (modalertify_minishop2, modalertify_office, modalertify_ajaxform), указать настройки по-умолчанию для alertify в формате JSON (modalertify_options), задать тему alertify (modalertify_theme) — доступны default и bootstrap

Артем
26 июня 2018, 07:21
modx.pro
2
2 753
+8
Поблагодарить автора Отправить деньги

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

Василий Столейков
27 июня 2018, 07:25
+1
Спасибо, очень приятные уведомления!

Вот только как поменять позицию уведомления на привычный верхний правый угол? В системной настройке modalertify_options не срабатывает следующая строка:
{"delay":3000, "position":"top-right"}
Настройку брал из документации Alertify.

Не думал как прикрутить ещё и другие алерты сюда же? Или хотя бы отдельными пакетами если сложно все в один запихнуть?
    Артем
    27 июня 2018, 09:40
    +1
    Ошибку поправил, обнови.
    Про остальные алерты не думал. Как я понял Павел возможно сделает это на msPNotify.
      Василий Столейков
      27 июня 2018, 10:47
      0
      Спасибо за быстрое обновление.
      Только темы сломались. Теперь стиль алертов чуть полетел и тема не меняется в системной настройке modalertify_theme.

      Павел возможно сделает это
      Ключевое слово «возможно». Ок, будем ждать…
        Артем
        02 июля 2018, 21:34
        +2
        Добавил Bootstrap Notify, Overhang, Noty и Toastr.
          Василий Столейков
          03 июля 2018, 10:55
          0
          Вышло просто замечательно, молодец!
          Очень понравилось, каким универсальным стал компонент.
          Не смотрел почему он не дружит с VirtualPage?
            Артем
            03 июля 2018, 10:57
            0
            Еще нет, пока времени не было на это
        Pavel Zarubin
        27 июня 2018, 11:13
        +1
        У Павла на ближайшее время точно не найдется времени сделать это. Так что если у тебя есть время, я буду только рад
      Василий Столейков
      27 июня 2018, 07:33
      0
      В каком случае срабатывает замена уведомления?
      Например на виртуальных страницах, созданных с помощью VirtualPage уведомления не заменяются, остаются от jGrowl (у msPNotify та же проблема).
        Артем
        27 июня 2018, 09:42
        +1
        Посмотрю в чем проблема.
        Aleksandr Huz
        27 июня 2018, 11:31
        0
        Артем, привет.
        Есть несколько вопросов.

        1. Зачем 2 раза регистрировать скрипт?
        $modx->regClientScript($js);
        if (preg_match('/\.js$/i', $js)) {
        	$js .= '?v=' . substr(md5($version), 0, 10);
        }
        $modx->regClientScript($js);

        2. Если jquery загружать асинхронно(defer), то код не сработает.
        Если поменять функцию ready то все будет работать.
        $(document).ready(function ($) {
             modAlertify.initialize();
        });
        на
        document.addEventListener('DOMContentLoaded', function(){
             modAlertify.initialize();
        });

          Артем
          27 июня 2018, 11:52
          +1
          1. уже исправил, недоглядел
          2. заменил
            Aleksandr Huz
            28 июня 2018, 13:06
            0
            Артем, я ошибся, нужно не только поменять функцию ready, а и удалить анонимную функцию, которая оборачивает весь код или удалить параметр jQuery из функции.
          Aleksandr Huz
          27 июня 2018, 12:28
          0
          Круто. Спасибо)
            shtyrman
            27 июня 2018, 18:45
            0
            чет после обновлений перестал работать)
              Артем
              27 июня 2018, 19:27
              0
              еще поправил)) видимо кэшированный скрипт грузился
              Илья
              29 июля 2018, 17:49
              0
              После обновления с версии 1.0.1-beta на версию 1.0.4-beta изменился внешний вид алерта:
              версия 1.0.1-beta:

              версия 1.0.4-beta:

              Как вернуть первоначальный красивый алерт?

              p.s.
              пока откатил обновление
                Dmitry P.
                08 февраля 2019, 13:00
                0
                при работе с дополнением msPromoCode уведомления noty с применением/отменой промо-кода отображаются без стиля. другие библиотеки тоже неправильно показываются.

                  Артем
                  08 февраля 2019, 13:14
                  +1
                  спасибо, исправлю
                  Петр Синечёв
                  07 марта 2019, 21:03
                  0
                  Спасибо, добавьте пожалуйcта поддержку Tickets
                    Петр Синечёв
                    19 марта 2019, 19:38
                    0
                    Компонент зачем-то подключает свои скрипты и стили на всех страницах сайта (даже на страницах с пустым шаблоном и без единого вызова каких-либо сниппетов)
                      Владимир
                      23 мая 2019, 13:58
                      0
                      у modAlertify, как и msPNnotify. нет возможности указать в настройках в каких шаблонах на подключать скрипты, сейчас, в «пустом шаблоне», например, скрипты и стили modAlertify подключаются по умолчанию
                      <link rel="stylesheet" href="/assets/components/modalertify/css/web/lib/toastr/toastr.min.css" type="text/css" />
                         <script type="text/javascript" src="/assets/components/modalertify/js/web/lib/toastr/toastr.min.js"></script>
                      <script type="text/javascript" src="/assets/components/modalertify/js/web/default.js?v=15ca96027c9"></script>
                      <script type="text/javascript">
                                          document.addEventListener("DOMContentLoaded", function(){
                                              modAlertify.initialize("modToastr", {"miniShop2":true,"Office":true,"AjaxForm":true,"jsUrl":"\/assets\/components\/modalertify\/js\/","options":{"positionClass":"toast-bottom-center","timeOut":3000}});
                                          });
                                      </script>
                        DOM
                        DOM
                        11 декабря 2019, 20:25
                        0
                        Может кто-то знает как заставить также работать с Tickets, походу из коробки не поддерживает?
                          Alexey Alpeev
                          14 марта 2020, 01:19
                          +1
                          C AjaxForm не работает из коробки. Не выводится succes message. При этом выводится error message )
                          вот небольшой костыль, который решает проблему:
                          в файле assets/components/modalertify/js/web/default.js
                          найти функцию modAlertify.AjaxForm (стр. 358 сейчас)
                          и закомментировать modAlertify.Message.removeAll(); (в стр. 371)
                          После чего алерты начинают работать.

                          close: function () {
                          					// modAlertify.Message.removeAll();
                          				}
                            Ян Сонов
                            07 октября 2020, 18:18
                            0
                            Не работает вместе с localizator. Как заставить грузиться стили для локализаций? (для языка по умолчанию работает)
                              Иван Бочкарев
                              07 октября 2020, 20:47
                              0
                              Это выполнено Apache2?
                                Ян Сонов
                                08 октября 2020, 17:05
                                0
                                Да, это есть. И остальные дополнения нормально работают во второй локали. Только modAlertify не выводит свои скрипты/стили
                              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                              26