DLE-Favorites v.1.0.2 by Sander для DLE

DLE-Favorites v.1.0.2 by Sander

DLE-Favorites v.1.0.2 by Sander

Простенький модуль, который заменяет стандартный обработчик кнопки добавления в закладки. Более подробнее об отличиях в полном описании.
Данный модуль не добавляет какого-то сверх нового функционала. Просто делает чуточку более удобным существующий.
Итак, в чем же отличия:
  1. Закладками могут пользоваться гости. Адрес страница закладок такой же как у зарегистрированных: example.com/favorites/
  2. Возможность ограничить количество закладок для каждой из групп пользователей
  3. При включенном кешировании в списке коротких новостей отметка не убирается
  4. Более гибкая возможность настройки шаблона
  5. Отзывчивый интерфейс. При клике на кнопку она тут же меняет свой вид.

Для примера я сделал 2 варианта оформления кнопки:
Пример №1: Тут используется 2 отдельных элемента для оформления иконок и для реализации надписей "Добавить в закладки" и "Убрать из закладок"
DLE-Favorites v.1.0.2 by Sander


<a href="#" class="favmod[favmod={news-id}] active[/favmod]" data-id="{news-id}">
	<span class="favmod-add" title="Добавить в закладки"></span>
	<span class="favmod-unset" title="Удалить из закладок"></span>
</a>


Пример №2: Простейший вариант оформления
DLE-Favorites v.1.0.2 by Sander

<a href="#" class="favmod[favmod={news-id}] active[/favmod]" data-id="{news-id}"></a>


Картинка для привлечения внимания и демонстрации как еще можно реализовать кнопку:
DLE-Favorites v.1.0.2 by Sander


Версия DLE: любая
Версия PHP: 5.4 и старше

Демо: test.sandev.pro


Скачать модуль можно на GitHub


История изменений
v.1.0.1
* Исправлена очистка закладок у гостей при закрытии браузера на длительное время.

v.1.0.2 11.05.2020
+ Добавлена поддержка работы тега {favorite-count} для гостей

С уважением,
Олег Александрович a.k.a. Sander
Комментарии: (86)
  1. foto
    VIP 30 декабря 2018 22:54 #
    Свои закладки отдельно от новостей гостю не посмотреть? И 5-й пункт вроде как и стандартно работает также.
    +1
    1. foto
      Администратор 30 декабря 2018 23:19 #
      Свои закладки - так же, на странице example.com/favorites/. Или о чем вы?
      Пятый пункт актуален для тегов [add-favorites] ... [/add-favorites].
      Тег {favorites} - да, обновляется при клике.
      0
      1. foto
        VIP 31 декабря 2018 08:56 #
        Цитата: Sander
        Свои закладки - так же, на странице example.com/favorites/. Или о чем вы?

        Это и имел ввиду. Думал если не написано, значит этого нет и кнопки не нашёл, а печатать с телефона не охота было.
        Переносились бы закладки в профиль, после реги, как у punpun, вообще было бы супер. Он же не обидится. Готов поддержать финансово. Надеюсь обойдётся без Ioncube. Сделай на сайте кнопку с благодарностью. А ещё лучше поставь dle billing, только напиши не баланс, а ваши взносы или типа того
        0
  2. foto
    Гость 31 декабря 2018 10:33 #
    Не совсем понял как гостю посмотреть все новости добавленные в закладки?
    0
    1. foto
      VIP 31 декабря 2018 10:41 #
      Свои закладки - так же, на странице example.com/favorites/.
      0
  3. foto
    Посетитель 1 января 2019 04:27 #
    Настройки бы в админку вынести, счётчики добавивших в закладки для гостей, пользователей, и всего, ну и если бы вывод списка в JQ UI окошке, то вообще отлично было бы....
    0
  4. foto
    Клиент 3 января 2019 14:27 #
    Sander, с Новым годом! На демо сайте я увидел модуль тестов. Давно хотел себе что-то такое. Вы его будете продавать?
    0
    1. foto
      Администратор 3 января 2019 17:24 #
      Нет. Подобный модуль может быть написан только под заказ под конкретную задачу.
      Писать универсальный модуль тестирования - слишком накладно.
      0
  5. foto
    Гость 2 февраля 2019 21:04 #
    Подскажите, пожалуйста, а количество закладок можно вывести? Ну, в шапке, например, числом. Т.е добавил в закладки 2 новости и в шапке число 2. и т.д.
    0
    1. foto
      Администратор 2 февраля 2019 21:07 #
      Да, можно.
      Удобнее и проще всего это будет сделать написав простенький модуль и подключать его через include
      +1
      1. foto
        Гость 2 февраля 2019 22:22 #
        А что значит

        Для DLE 13.x использовать установщик плагина из файла dle-favorites.xml

        ?
        0
      2. foto
        Гость 2 февраля 2019 22:29 #
        Разобрался) новая система установки плагинов оказывается))
        0
      3. foto
        VIP 23 октября 2019 18:09 #
        А можете написать этот модуль?
        0
  6. foto
    Посетитель 13 февраля 2019 14:09 #
    Теперь закладки не удаляются у гостей!!! Наконец то. Спасибо ))
    0
  7. foto
    Клиент 26 марта 2019 07:56 #
    Перенос закладок при регистрации пользователя не планируется реализовать?
    0
    1. foto
      Администратор 26 марта 2019 11:38 #
      engine/modules/register.php
      Найти
      $id = $db->insert_id();

      Ниже вставить:
      require_once ENGINE_DIR . '/mods/favorites/class.favorites.php';
      $favmod = new Sandev\Favorites;
      $favlist = $favmod->getList();
      if ($favlist[0] != 0) {
          $favlist = join(',', $favlist);
          $db->query("UPDATE " . USERPREFIX . "_users SET favorites = '$favlist' WHERE user_id = $id");
      }


      Проверьте, если работает - отпишитесь тут, дополню статью.
      +1
      1. foto
        Клиент 27 марта 2019 23:24 #
        Да, работает
        0
  8. foto
    Гость 24 мая 2019 09:34 #
    На что влияет количество закладок? Или можно их сколько хочешь в настройках выставить?

    (И при загрузке архива плагина в движок, пишет не найден xml, что это может быть? Версия 13,х)
    0
    1. foto
      Администратор 24 мая 2019 11:01 #
      Ограниченное количество - в целях безопасности.
      Для пользователей можно ставить большое число, а вот для гостей не рекомендую больше 1000.

      Нужно не архив загружать, а устанавливать по инструкции. Загружать нужно именно сам xml файл.
      0
      1. foto
        Гость 24 мая 2019 11:38 #
        Установил, подключил js. Но страница с закладками пустая.
        Вот смотри есть дискетка, при ее нажатии начинается загрузка, но не добавляет, что я мог сделать не так?
        0
        1. foto
          Гость 24 мая 2019 11:39 #
          Внимание! У Вас нет прав для просмотра скрытого текста.
          0
        2. foto
          Администратор 24 мая 2019 11:43 #
          Вы подключили JS обработчик 2 раза. И кнопка нажимается 2 раза.
          Т.е. добавляет в закладки и тут же удаляет.
          0
          1. foto
            Гость 24 мая 2019 11:51 #
            Благодарю. Оперативно)
            0
  9. foto
    Гость 24 мая 2019 15:21 #
    В краткой новости же должно работать?
    Просто вопще исчезает кнопка, но в коде она есть, пометил как 1 2 mp3meloman.ml

    Рядом с кнопками Плэй и Скачать тоже она не отображается, уже что только не пробовал шаманить...
    0
    1. foto
      Администратор 24 мая 2019 17:58 #
      Отсутствуют стили.
      0
      1. foto
        Гость 24 мая 2019 19:48 #
        блин. извинити за такой пустяк, вроде и мелочь, а целый день копался и не заметил
        0
  10. foto
    VIP 13 июня 2019 02:56 #
    Что-то делается отступ у иконки и располагается она по середине. Убрал
    margin: 0 auto;
    и сделал
    margin: 0;
    , но теперь только переносится на новую строчку. Ну то есть не могу вставить туда, куда хочу. Как можно исправить?
    0
    1. foto
      VIP 16 июня 2019 13:49 #
      Вот тут на сайте нормальная кнопка, которую можно вставить реально в любое место. Поделишься?
      0
      1. foto
        Администратор 17 июня 2019 11:19 #
        Вам лучше обратиться за помощью к верстальщику.
        В статье представлена технология и базовый html код со стилями, который можно встроить куда угодно и настроить как угодно.
        Если вы не обладаете базовыми знаниями в области html+css, то естественно вы не сможете настроить внешний вид.
        0
        1. foto
          VIP 2 июля 2019 21:11 #
          А как можно простой ссылкой вывести (с простым текстом)? Как на скриншоте 5 пример.
          0
  11. foto
    VIP 13 июня 2019 03:04 #
    также гостям не показывается количество новостей в закладках
    0
  12. foto
    Посетитель 9 сентября 2019 18:16 #
    Добрый Вечер, подскажите пожалуйста, как это все установить не меняя кнопок на сайте

    
    [group=5]<a href="#" class="js-login"><img src="/templates/muzzona/images/v-playlist.png" style="border: none;" alt="" title="Добавить Песню в Плейлист" /></a>[/group][not-group=5]
    [add-favorites]<img src="/templates/muzzona/images/v-playlist.png" style="border: none;" alt="" title="Добавить Песню в Плейлист" />[/add-favorites]
    [del-favorites]<img src="/templates/muzzona/images/delet-playlist.png" style="border: none;" alt="" title="Удалить Песню с Плейлиста" />[/del-favorites][/not-group]
    


    <a href="#" class="favmod[favmod={news-id}] active[/favmod]" data-id="{news-id}">
    <span class="favmod-add" title="Добавить в закладки"></span>
    <span class="favmod-unset" title="Удалить из закладок"></span>
    </a>
    0
    1. foto
      Администратор 9 сентября 2019 18:40 #
      Никак. Сама суть этого хака, что он меняет кнопки.
      Вам нужно будет их адаптировать.
      0
  13. foto
    VIP 27 октября 2019 16:08 #
    Цитата: Sander
    Да, можно.
    Удобнее и проще всего это будет сделать написав простенький модуль и подключать его через include

    Олег, как появится свободное время, напишите пожалуйста дополнение для вывода кол-во закладок на главной.
    0
  14. foto
    Гость 28 ноября 2019 00:04 #
    Как вывести какой-то текст на странице закладок, когда она пустая, ну например ( у вас еще нет закладок, добавьте их для начала).
    0
  15. foto
    VIP 31 декабря 2019 16:54 #
    Вывод количества закладок гостя. vozmjen???
    0
  16. foto
    VIP 4 января 2020 03:27 #
    pri ispolizovanie modulia LazyDev - DLE FILTER pri ajax filtracii to oba knopki vidni... i dobaviti i udaliti
    0
    1. foto
      Клиент 8 мая 2020 19:26 #
      Аналогично, может у разработчика найдется время и он подскажет решение
      0
  17. foto
    Гость 20 января 2020 16:04 #
    Как все-же вывести количество закладок цифрой? Возможно кто-то нашел решение
    0
  18. foto
    Гость 11 мая 2020 02:02 #
    Добрый день. Как сделать {favorite-count} - показывала количество новостей для гостей? спасибо за внимание
    0
  19. foto
    Гость 24 мая 2020 19:13 #
    всем привет
    а не кто не подскажет почему при установке такая ошибка выходит
    Forbidden
    You don't have permission to access
    +1
  20. foto
    Клиент 7 июня 2020 21:51 #
    Обновил плагин, но {favorite-count} для гостей так и не работает
    0
    1. foto
      Администратор 9 июня 2020 11:42 #
      Только что установил на dle 14. Все нормально работает.
      Работа тега {favorite-count} возможна только в файле шаблона login.tpl
      0
  21. foto
    Клиент 11 июня 2020 22:04 #
    Или лыжы не едут или я .... Перенес тег {favorite-count} в login.tpl, но сейчас другая проблема - если новостей нет, всеравно показывает "1", если новости добавляешь - дальше считает норм. Пример: https://demo.in-rap.ru/favorites/, вот код как добавил: https://pastebin.com/7SNprxp1
    0
    1. foto
      Гость 15 июня 2020 11:54 #
      Аналогичная проблема, думал только у меня что-то не так
      0
    2. foto
      Администратор 21 июня 2020 15:20 #
      Исправил.
      Обновил плагин на гитхабе.
      0
      1. foto
        Гость 16 июня 2021 20:01 #
        Все равно такая же ошибка.
        Исправил на:
        } else $tpl->set( '{favorite-count}', '0', count(explode(",", $_COOKIE['dle_favorites'])) );

        И теперь если ты авторизован то всё работает норм а если нет то вместо 0 показывает 1...
        0
      2. foto
        Гость 17 января 2023 03:54 #
        Здравствуйте, есть ли решение {favorite-count} что показывает 1, многие писали здесь эту проблему
        0
    3. foto
      Гость 13 июня 2021 04:18 #
      } else $tpl->set( '{favorite-count}', '0', count(explode(",", $_COOKIE['dle_favorites'])) );
      0
  22. foto
    Посетитель 5 августа 2020 06:57 #
    Жаль что хак динамического прибавления/убавления числа закладок не работает с этим модулем.
    0
  23. foto
    Посетитель 10 августа 2020 10:44 #
    Цитата: redflamegroup
    pri ispolizovanie modulia LazyDev - DLE FILTER pri ajax filtracii to oba knopki vidni... i dobaviti i udaliti

    Даа, модуль хороший очень, но с фильтром да и с многими модулями которые так же используют ajax, данный модуль не работает. К огромному сожалению
    0
  24. foto
    Посетитель 10 августа 2020 10:49 #
    После использования фильтра ajax или другого какого-нибудь модуля с ajax. У модуля перестают работать теги [favmod=4] active [/favmod] и из-за этого отображаются обе кнопки. Как исправить?
    0
    1. foto
      Администратор 12 августа 2020 09:00 #
      Теперь - никак.
      Хотя до того как вы начали писать оскорбления - я планировал написать дополнительную инструкцию, в своё свободное время.
      0
      1. foto
        Гость 25 октября 2022 01:01 #
        Пожалуйста, исправь эту проблему
        После использования фильтра ajax или другого какого-нибудь модуля с ajax. У модуля перестают работать теги [favmod=4] active [/favmod] и из-за этого отображаются обе кнопки. Как исправить?


        Актуальна, а хак очень полезный...
        0
  25. foto
    Посетитель 18 августа 2020 16:06 #
    Цитата: bymerpro
    Жаль что хак динамического прибавления/убавления числа закладок не работает с этим модулем.

    Накалякал через гугл мб кому пригодится
    
    var count = $("#favorite_count").html();
    		if ($this.hasClass('active')) {
    			$("#favorite_count").html(parseInt(count) + 1);
    		} else {
    			$("#favorite_count").html(parseInt(count) - 1);
    		}
    
    0
    1. foto
      Гость 5 января 2021 18:59 #
      Куда это вставлять?
      0
    2. foto
      VIP 25 марта 2021 01:47 #
      Не работает это, если имелось ввиду что в js вставить просто.

      Но динамическое обновление было бы круто сделать в этом модуле.
      0
  26. foto
    Клиент 4 октября 2020 11:30 #
    Всем Привет.
    У всех перестал работать модуль ?
    Forbidden
    You don't have permission to access /engine/mods/favorites/ajax.php on this server.
    0
    1. foto
      Клиент 6 октября 2020 11:03 #
      Сталкивался с аналогичной проблемой при попытке перевода на nginx.
      0
      1. foto
        Гость 22 декабря 2020 15:18 #
        У меня без каких либо проблем работает на nginx
        0
  27. foto
    Гость 5 января 2021 18:56 #
    Добрый день.
    Уважаемый автор, подскажите пожалуйста - установка данного скрипта на безопасность сайта не повлияет?
    Спасибо.
    0
  28. foto
    Гость 22 января 2021 14:08 #
    Привет. DLE 10.4 для гостей не работает, пишет - "Вы ничего не вносили в свои закладки", хотя сами кнопочки клацаются, и вроде как вносится. Помиоги пожалуйста. И еще в моем файле engine/modules/favorites.php нету строки $order_list = array();, в этот файлик я код не вставлял. Может из-за этого? Sander - ответь пожалуйста. Нужно чтобы гости могли вносить в закладки.
    0
    1. foto
      Администратор 23 января 2021 14:19 #
      Вставлять после 2й строки:
      $list = explode( ",", $member_id['favorites'] );

      Та которая возле:
      $user_query = "do=favorites";


      Не проверял. В теории должно работать.

      PS. Если не установить модуль полностью, то само собой разумеется что он не будет работать как задумано.
      0
  29. foto
    Гость 14 июня 2021 08:42 #
    А можно как-то {favorite-count} тоже на ajax сделать? Чтобы отображал актуальное кол-во закладок.
    Заранее спасибо!
    0
  30. foto
    Посетитель 18 июня 2021 06:03 #
    {favorite-count} Для гостей почему-то всегда показывает 0.
    0
  31. foto
    VIP 10 ноября 2021 19:28 #
    Подскажите, можно данный модуль использовать как дополнение и выводить посты добавленные в закладки не по адресу example.com/favorites/, а к примеру example.com/что-то другое/ ? При том чтобы стандартные favorites работали тоже.
    0
  32. foto
    Посетитель 1 февраля 2022 11:52 #
    Добрый день.
    На версии 15.1 не работает. Не обрабатывается тег [favmod={news-id}] active[/favmod], то есть в коде сайта прямо так и выводится.
    На версиях 14.3 и 15.0 всё работает. Подскажите пожалуйста как починить. Спасибо.
    0
    1. foto
      Посетитель 1 февраля 2022 19:43 #
      Пардон, работает, оказывается в системе плагинов теперь каждое действите нужно отдельно активировать (ставить чекбокс), иначе не будет выполняться
      +2
  33. foto
    Посетитель 14 марта 2022 21:02 #
    На DLE 15.1 не работает. Ничего не выводит...
    0
    1. foto
      VIP 15 марта 2022 08:10 #
      Ошибка какая? В логах должно быть видно.
      0
      1. foto
        Посетитель 16 марта 2022 23:17 #
        А где посмотреть? Вроде ошибки нигде не вылазят.
        Просто используя конструкцию:
        <a href="#" class="favmod[favmod={news-id}] active[/favmod]" data-id="{news-id}"></a>

        Ничего не выводится, тупо пустота...
        0
        1. foto
          Посетитель 1 апреля 2022 01:21 #
          ВСЁ РАБОТАЕТ! Оказывается и в правду, когда добавляешь плагин в систему плагинов, то на всех изменениях отключен чекбокс...
          0
  34. foto
    Клиент 2 мая 2022 19:29 #
    Можно ли в этом модуле назначить свой шаблон короткой новости?
    0
  35. foto
    Гость 16 января 2023 23:44 #
    Всем привет по поводу {favorite-count} который показывает 1 есть решение ?
    0
  36. foto
    VIP 26 января 2023 07:20 #
    А на версии 15.3 только у меня если нажать поиск выскакивает
    Fatal error: Uncaught TypeError: array_filter(): Argument #1 ($array) must be of type array, null given in /home/alex/web/слив.su/public_html/engine/cache/system/plugins/b73c58235182726b4a41813188b46d9a.php:677 Stack trace: #0 /home/alex/web/слив.su/public_html/engine/cache/system/plugins/b73c58235182726b4a41813188b46d9a.php(677): array_filter() #1 /home/alex/web/слив.su/public_html/engine/cache/system/plugins/5866eb163a21d2e5ad88fb0e2a4912ac.php(1080): include_once('...') #2 /home/alex/web/слив.su/public_html/index.php(25): require_once('...') #3 {main} thrown in /home/alex/web/слив.su/public_html/engine/cache/system/plugins/b73c58235182726b4a41813188b46d9a.php on line 677

    Если удалить страница поиска на сайте работает а вот сам плагин нет)
    0
    1. foto
      VIP 26 января 2023 14:42 #
      php 8.1
      0
    2. foto
      Администратор 27 января 2023 21:24 #
      К сожалению вообще ничего не могу подсказать по вашей ситуации.
      Посмотрите, что это за файл b73c58235182726b4a41813188b46d9a.php и что у него находится на 677 строке и что перед ней.
      У меня ооочень большие сомнения, что дело в этом модуле, поскольку ни в нём, ни в файлах движка у закладок - нигде не используется функция array_filter
      0
      1. foto
        VIP 1 февраля 2023 14:07 #
        А да, сори. перепутал плагины это ошибка от плагина DLE Filter
        0
  37. foto
    VIP 15 февраля 2023 19:53 #
    Здравствуйте, уже на дефолтном DLE 16 проверил и не работает. Хотя если по старому добавлять или удалять но звездочка меняется но нажать не могу
    0
    1. foto
      Администратор 15 февраля 2023 20:04 #
      ShowLoading();

      заменить на
      ShowLoading('');
      0
      1. foto
        VIP 17 февраля 2023 19:43 #
        А в каком файле?
        0
        1. foto
          Администратор 17 февраля 2023 20:11 #
          Везде где только найдётся.
          В частности в JS коде.
          +1
  38. foto
    VIP 2 марта 2023 19:34 #
    Заметил такую штуку.

    Если открыть полную новость и там добавить в избранное то в избранном будут отображаться все новости из рекомендации (похожие новости). Если подключить вывод через custom других новостей то все хорошо. Уже менял шаблон в relatednews не помогает(

    Может посмотрите) DLE 16 php 8.2
    0
  39. foto
    Гость 17 марта 2023 13:01 #
    Добрый день! Не работает на dle 16.0
    Можете помочь пожалуйста.
    +1
    1. foto
      Гость 17 марта 2023 13:04 #
      ShowLoading(''); все работает
      0
  40. foto
    VIP 25 марта 2023 07:05 #
    Возможно надёжнее для гостей привязывать в LocalStorage?
    0
Добавить комментарий

Внимание! Все сообщения касающиеся техподдержки будут удалены или проигнорированы

Attention! All messages asking for technical support will be removed or ignored

  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2024.
При копировании, ссылка на источник обязательна.