Быстрая подписка на комментарии для DLE

Быстрая подписка на комментарии

Быстрая подписка на комментарии

Стандартный алгоритм подписки устроен так, что подписаться на комментарии можно только при добавлении комментария.
Этот простенький модуль исправляет это упущение.
С помощью этого хака/модуля пользователи смогут подписываться на комментарии буквально одним кликом.
Собственно пример работы этой кнопки вы можете посмотреть на моем же сайте

Установка
В папке engine/ajax создать файл subscribe.php с содержимым:


JS код вставить в любой подключенный к шаблону js файл:
$(document).on('click','.unsubcomm',function(){
	ShowLoading();
	var $this = $(this);
	$.post(dle_root+"engine/ajax/subscribe.php",{post_id:$('#post_id').val()},function(d){
		HideLoading();
		if(d.error) DLEalert(d.error,"Ошибка");
		else $this.html(d.html);
	},"json");
});


В файле шаблона addcomments.tpl или fullstory.tpl в желаемом месте вставить код:
[not-group=5]<span class="unsubcomm">Подписаться на комментарии</span>[/not-group]
Наличие имени класса unsubcomm - обязательно.

При желании использовать стиль кнопки:
 CSS

Вот и все :)


Дополнение
Небольшое дополнение чтобы сразу отображать статус - подписан пользователь или нет.
Создать файл engine/mods/subscribed.php с содержимым:

В шаблоне addcomments.tpl вместо текста "Подписаться на комментарии" использовать код:
{include file="engine/mods/subscribed.php"}

Получиться должно примерно так:
[not-group=5]<span class="unsubcomm">{include file="engine/mods/subscribed.php"}</span>[/not-group]


С уважением,
Олег Александрович a.k.a. Sander
Комментарии: (18)
  1. foto
    Клиент 1 июня 2016 23:53 #
    Оууу, спасибо большое)
    0
  2. foto
    VIP 8 июня 2016 02:51 #
    Плохо что не показывает, что уже подписаны. А то захожу опять в эту новость и написано опять Подписаться на комментарии, нажимаю опять, а на самом деле отписываюсь. Да и письмо что-то не приходит.
    0
    1. foto
      Администратор 8 июня 2016 10:24 #
      Чтобы показывало, подписан ли пользователь - необходимо эти данные получить из таблицы dle_subscribe.
      Это нужно либо вносить правки в движок и добавлять 1 запрос или на ajax делать проверку, что тоже лишняя нагрузка.
      DLE`шка тоже позволяет только подписываться.

      К самой отправке хак отношения не имеет. Он только делает более удобной процедуру самой подписки.
      +1
  3. foto
    VIP 8 июня 2016 21:32 #
    Цитата: Sander
    Это нужно либо вносить правки в движок и добавлять 1 запрос или на ajax делать проверку, что тоже лишняя нагрузка.

    Сделаете как нибудь, как лучше. Наплевать на этот запрос, если без этого ни как. А то как-то не комильфо. Пожааааалуйста!
    -1
    1. foto
      Администратор 9 июня 2016 11:48 #
      Сделал. Дополнил статью.
      +4
  4. foto
    Посетитель 25 июля 2016 19:44 #
    Подскажите, когда нажимаю кнопку подписаться на комментарии должен быть тескт типа "Вы успешно подписались", а у меня знаки вопроса, как будто что-то с кодировкой неправильно.
    0
    1. foto
      Администратор 26 июля 2016 13:06 #
      Вы совершенно правильно думаете.
      Неправильная кодировка файла subscribe.php
      По умолчанию текстовые редакторы сохраняют файл в windows-1251 кодировке, а у вас видимо utf-8
      0
      1. foto
        Посетитель 27 июля 2016 10:52 #
        не в этом дело, сайт у меня в 1251 как раз
        +1
      2. foto
        Посетитель 13 января 2018 10:40 #
        У меня тоже вместо русского языка каракули.
        0
        1. foto
          Администратор 13 января 2018 14:01 #
          Поправил, обновите код файла
          engine/ajax/subscribe.php
          0
          1. foto
            Посетитель 13 января 2018 15:44 #
            Каракули остались, но как понимаю на "Подписаться на комментарии" т.к. после нажатия на эти каракули у меня другие 2-е надписи "отписаться?" и "подписаться вновь?" успешно пишутся по русски.
            0
            1. foto
              Администратор 13 января 2018 16:07 #
              Значит однозначно проверяйте соответствие кодировки файла в котором вставили код кнопки и кодировки сайта.
              0
  5. foto
    Клиент 15 мая 2017 15:11 #
    Подскажите пожалуйста, родной чекбокс с надписью "Подписаться на комментарии" как убрать ?)
    Если в админке отключить "Разрешить пользователям подписываться на комментарии новости" то письма не приходят.
    DLE 11.3
    На прошлых версиях при отключении подписки в админке все работало.
    0
    1. foto
      Администратор 30 мая 2017 15:43 #
      engine/modules/bbcode.php
      Удалить всю строку где встречается слово allow_subscribe

      Актуально для всех версий DLE.
      0
  6. foto
    Посетитель 12 декабря 2017 19:55 #
    все сделал по инструкции а кнопка не активируется и не меняется статус, 10,5 версия
    0
    1. foto
      Администратор 12 декабря 2017 20:10 #
      Смотреть сайт надо.
      Ошибку будет видно или в консоли или во кладке network.
      0
  7. foto
    Посетитель 12 декабря 2017 20:08 #
    Цитата: djgelius
    все сделал по инструкции а кнопка не активируется и не меняется статус, 10,5 версия

    вставил код в файл

    
    $(document).on('click','.unsubcomm',function(){
    	ShowLoading();
    	var $this = $(this);
    	$.post(dle_root+"engine/ajax/subscribe.php",{post_id:$('#post_id').val()},function(d){
    		HideLoading();
    		if(d.error) DLEalert(d.error,"Ошибка");
    		else $this.html(d.html);
    	},"json");
    });
    


    https://edmradio.ru/templates/edm/subscribe.js

    не работает, а когда вставил в шаблон все ок! в чем косяк?
    0
    1. foto
      Администратор 13 декабря 2017 11:30 #
      К указанному файлу закрыт доступ.
      0
Добавить комментарий
  • Логин
  • E-mail
Повторите рисунок:
antibot
© Sander-Development. 2009-2018.
При копировании, ссылка на источник обязательна.