[msFavorites] - версия 3.0, работа с любыми объектами.

[msFavorites] — компонент реализует функционал создания списков избранного.

Особенности:
— работа с любыми объектами
— работа с любыми пользователями

Демо-версию можно посмотреть на msfavorites.vgrish.ru, а попробовать перед покупкой на modhost.pro

Отличия версии 3.x
Основные отличия — введена работа с любыми объектами, можно составлять различные списки избранного без ограничений.
Изменения в служебной разметке — дата атрибут dada-data-id заменен на dada-data-key, но старые вызовы по прежнему будут работать. В целом после обновления все должно функционировать как и прежде.

Порядок действий при обновлении с версии 2.x до 3.x
— Деинсталлировать старый пакет через менеджер управления пакетами
— Установить актуальную версию компонента
— Запустить скрипт миграции для переноса данных в новые таблицы
include MODX_CORE_PATH .'components/msfavorites/migration/v2tov3/favorites.php';

результат работы скрипта
Import complete in 2.0370631 s

Total idx:	601
Positive:	601
Negative:	0
Выводится общее кол-во обработанных записей и обработанных.
При переносе временные записи анонимных пользователей будут удалены.

Демо-версию можно посмотреть на msfavorites.vgrish.ru
Вскоре в репозитории магазина modstore.pro
Володя
05 июля 2019, 06:53
modx.pro
4
2 106
+19
Поблагодарить автора Отправить деньги

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

TrywaR
11 июля 2019, 01:05
2
+2
На днях понадобился такой функционал, смастерил простенький сниппет и плагин для сохранения выбранных товаров в сессии, юзайте если кому понадобится trywar.ru/3/181/
    DM
    DM
    13 августа 2019, 15:02
    0
    А в новой версии инициализацию меняли?
    На страницах где отсутствуют элементы со служебной разметкой теперь не происходит инициализация.

    В шапке которая общая для всех страниц выводится кол-во ресурсов в избранном, в чанке шапки перед выводом кол-ва, вызван [[!msFavorites.initialize]]. На версии 2.1.5 всё работало, на 3.0 работает счётчик только на тех страницах где есть сами элементы избранного.
      Володя
      13 августа 2019, 17:02
      0
      Добрый день.
      Да, инициализация теперь сделана иначе. Вам нужно просто добавить класс msfavorites
      элементу счетчика избранного и все.
      vrm13
      07 января 2020, 17:50
      0
      Доброго вечера, обновил по инструкции до 3.0.4 избранное работает, но какой-то конфликт получается с mfilter, который перестаёт фильтровать. В консоли google chrome при клике по чекбоксу он отмечается но фильтрация не происходит:

      Uncaught RangeError: Maximum call stack size exceeded
          at Ja (scripts_fabea47f5e.min.js:3)
          at r.fn.init.append [as originalAppend] (scripts_fabea47f5e.min.js:3)
          at r.fn.init.jQuery.fn.append (default.min.js?v=385d6cb1:1)
          at r.fn.init.<anonymous> (scripts_fabea47f5e.min.js:3)
          at T (scripts_fabea47f5e.min.js:3)
          at r.fn.init.html [as originalHtml] (scripts_fabea47f5e.min.js:3)
          at r.fn.init.jQuery.fn.html (default.min.js?v=385d6cb1:1)
          at r.fn.init.jQuery.fn.append (default.min.js?v=385d6cb1:1)
          at r.fn.init.<anonymous> (scripts_fabea47f5e.min.js:3)
          at T (scripts_fabea47f5e.min.js:3)

      Если выключить плагин msFavorites, ошибка не происходит.

      в scripts_fabea47f5e.min.js (через minyfix собраны скрипты) ругается на jQuery v3.2.1, другие версии дают тот же результат.

      а default.min.js?v=385d6cb1 это соответственно msfavorites, причём ошибка даже на тех страницах где он не вызывается.
        Володя
        08 января 2020, 11:01
        +1
        Доброе утро.
        В новой версии должно корректно работать, обновите пакет.
          vrm13
          08 января 2020, 11:13
          +1
          Да, теперь всё отлично, огромное спасибо!
            Володя
            08 января 2020, 11:24
            0
            пожалуйста!
        Евгений Лазарев
        24 марта 2020, 18:54
        0
        Добрый день подскажите, не обращал раньше на это внимания.Код [[!msFavorites.initialize]] находится в header. Там же ниже код счетчика

        <a href="{120 | url}" class="msfavorites-total" data-data-list="default" data-value="0">0</a>
        На страницах каталога и товаров все ок — значение меняется, на остальных страницах — тишина.
          Володя
          25 марта 2020, 09:27
          0
          Пишите пожалуйста в ТП
            Евгений Лазарев
            25 марта 2020, 09:32
            0
            Срок действия ТП закончился. Я и говорю, что раньше не обращал внимания. Не получается создать заявку.
              Володя
              25 марта 2020, 09:44
              0
              На страницах каталога и товаров все ок — значение меняется, на остальных страницах — тишина.
              вероятно на страницах каталога и товаров скрипт инициализируется, на других нет. Либо у вас нет вызова msFavorites.initialize, либо не проходит инициализация из за того что нет элементов избранного. Проверьте наличие вызова сниппета msFavorites.initialize на проблемных страницах, и добавьте класс msfavorites для счетчика
                Евгений Лазарев
                25 марта 2020, 12:14
                0
                Спасибо, Владимир. Я не заметил про класс msfavorites — поэтому не обновляло. Еще подскажите, без вмешательство в Ваш код c целью дальнейшего безболезнееного обновления есть возможность иметь код вместо
                <span class="msfavorites-total" data-value="2">2</span>
                вот этот
                <p class="msfavorites-total" data-value="2"><span>2</span></p>
                То есть чтобы значение записывалось не в тег с классом «msfavorites-total» непосредственно а во внутренний тег.
                Скажу зачем:
                Тегу с классом «msfavorites-total» можно назначить картинку которая будет при data-value=«0» к примеру серая, а при другом значении (то есть товары есть в избранном) — цветная. Но нет возможности абсолютить цифру относительно данной картинки, потому что она не в теге.
                  Артур Шевченко
                  13 декабря 2020, 15:07
                  0
                  А можете пояснить для чего data-data-type=«resource» и data-data-key=«9»? Особенно data-data-key почему именно 9?
          Ivan
          05 апреля 2020, 10:15
          0
          Здравствуйте!
          У меня некоторое время назад были проблемы с работой вашего дополнения (новой версии), старый тикет уже не могу комментировать. Приходиться пользоваться старой версией

          И случайно у меня возник вопрос, а вы не используете при разработке своего замечательного компонента, не менее замечательный компонент «modHelpers» modzone.ru/documentation/modhelpers/?
            vrm13
            30 апреля 2020, 13:30
            0
            Вопрос: Плагин msFavorites срабатывает на всём сайте, даже где нет вызова сниппета msFavorites и добавляет в head страницы

            <link rel="stylesheet" href="/assets/components/msfavorites/css/default.min.css?v=f301bf14" type="text/css" />
            <meta name="msfavorites:version" content="3.0.5-beta">
            <meta name="msfavorites:ctx" content="web">
            <meta name="msfavorites:actionUrl" content="/assets/components/msfavorites/action.php">
            а можно как-то исключить сработку плагина, там где он не нужен?
              Андрей
              22 июня 2022, 17:02
              0
              Почему-то в файле /assets/components/msfavorites/js/default.min.js присутствует ошибка:
              Uncaught TypeError: Cannot read properties of null (reading 'content')
              Вроде как он там пытается мета теги получить — в head они есть.
              как тогда устранить проблему?
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                18