0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 1958 Просмотров
*

senses

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
K2 автоподписка
« : 23.05.2011, 18:18:17 »
Здравствуйте,

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

JComments 2.2.0.2
K2 2.4.1
*

SDKiller

  • Moderator
  • 2706
  • 329 / 5
  • ...ergo sum
Re: K2 автоподписка
« Ответ #1 : 23.05.2011, 20:11:45 »
То есть чтобы при создании материала в К2 автоматически добавлялась подписка на комментарии к этому материалу в JComments для автора этого материала?
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: K2 автоподписка
« Ответ #2 : 23.05.2011, 23:48:43 »
Судя по всему, да.
Кстати, советую всем проапгрэйдить комментарии k2 до jk2comments.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

senses

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Re: K2 автоподписка
« Ответ #3 : 23.05.2011, 23:49:49 »
Да, всё верно
*

senses

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Re: K2 автоподписка
« Ответ #4 : 23.05.2011, 23:51:35 »
Цитировать
Кстати, советую всем проапгрэйдить комментарии k2 до jk2comments.

Вы имеете ввиду JComments?
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: K2 автоподписка
« Ответ #5 : 24.05.2011, 00:08:06 »
Я публиковал на форуме плагин JComments - Autosubscribe, поищите, он позволит реализовать описанную задачу.
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: K2 автоподписка
« Ответ #6 : 24.05.2011, 00:09:45 »
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: K2 автоподписка
« Ответ #7 : 24.05.2011, 00:21:35 »
Я публиковал на форуме плагин JComments - Autosubscribe, поищите, он позволит реализовать описанную задачу.
Этот?
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: K2 автоподписка
« Ответ #8 : 24.05.2011, 00:39:07 »
Да
*

SDKiller

  • Moderator
  • 2706
  • 329 / 5
  • ...ergo sum
Re: K2 автоподписка
« Ответ #9 : 24.05.2011, 01:47:20 »
Я публиковал на форуме плагин JComments - Autosubscribe, поищите, он позволит реализовать описанную задачу.

Наверное не вполне оптимально будет для конкретного компонента и конкретной задачи (подсчёт количества комментариев при выводе, да и определение владельца объекта, который нам в данном случае известен).

Если задача в автоматической подписке авторов при создании материала - лучше свести его до ещё более простого плагина (но - К2)
на событие onAfterK2Save

Суть такая:

Код
	function onAfterK2Save( &$row, $isNew )	{

if (!empty($row->id) && !empty($row->created_by) && $isNew) {

$object_group = 'com_k2';
require_once (JPATH_SITE . DS . 'components'.DS.'com_jcomments'.DS.'jcomments.php');
require_once (JPATH_SITE . DS . 'components'.DS.'com_jcomments'.DS.'jcomments.subscription.php');
$manager = & JCommentsSubscriptionManager::getInstance();
$manager->subscribe($row->id, $object_group, $row->created_by);
}

return true;
}

А если язык сайта один, то можно реализовать и без подключения JCommentsSubscriptionManager, поскольку данные для бОльшей части полей таблицы уже доступны.
Остаётся только напрямую  забить (или сделать в параметрах плагина) язык и сгенерировать md5.


Плагин во вложении.


[вложение удалено Администратором]
« Последнее редактирование: 24.05.2011, 02:02:00 от SDKiller »
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: K2 автоподписка
« Ответ #10 : 24.05.2011, 02:21:30 »
Наверное не вполне оптимально будет для конкретного компонента и конкретной задачи
для конкретного компонента всегда может быть более оптимальное решение, но у меня не было такой цели - была задача и я сделал универсальное решение, тем более, что когда оно было реализовано сам K2 был еще в зачаточном состоянии и подобных событий там не было. Да и что количество, что владелец, что сама подписка - все это происходит не при выводе комментариев (что безусловно частая операция), а при добавлении нового комментария и существенно на производительности не скажется.

А если язык сайта один, то можно реализовать и без подключения JCommentsSubscriptionManager, поскольку данные для бОльшей части полей таблицы уже доступны.
Ну если это делать на событии onAfterK2Save то нет смысла экономить - это не такое частое событие. Другое дело, что такая реализация будет добавлять подписку при каждом сохранении, и у пользователя не будет шанса отписаться от нее ;) А в моей реализации, подписка производится только тогда, когда добавляется первый комментарий и подписки еще не было.
« Последнее редактирование: 24.05.2011, 02:34:21 от smart »
*

SDKiller

  • Moderator
  • 2706
  • 329 / 5
  • ...ergo sum
Re: K2 автоподписка
« Ответ #11 : 24.05.2011, 10:16:41 »
такая реализация будет добавлять подписку при каждом сохранении, и у пользователя не будет шанса отписаться от нее

Подписка добавляется только при сохранении нового материала (...&& $isNew)

Отписаться можно обычным образом - через "Отказаться от уведомлений о новых комментариях" из материала.
*

senses

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Re: K2 автоподписка
« Ответ #12 : 24.05.2011, 11:22:13 »
Спасибо всем за помощь. Все решения подходят, буду выбирать оптимальное.
« Последнее редактирование: 24.05.2011, 12:03:45 от smart »
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: K2 автоподписка
« Ответ #13 : 24.05.2011, 11:35:55 »
Подписка добавляется только при сохранении нового материала (...&& $isNew)
Угу, я не заметил $isNew. Но если на сайте уже стоит К2, в нем есть определенное количество комментариев, и недавно установили JComments - авторов подписать не получится, материалы-то уже не новые. Хотя у моего, универсального решения тоже есть проблема - если комментарии уже есть, и поставили плагин - автор автоматически подписан не будет.
« Последнее редактирование: 24.05.2011, 12:03:55 от smart »
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: K2 автоподписка
« Ответ #14 : 30.05.2011, 14:54:14 »
Плагин K2 JComments обновлен до версии 1.2. Добавлена поддержка автоматической подписки авторов материалов на комментарии (только для вновь созданных материалов). В связи с этим можно отказаться от использования плагина JComments Autosubscribe.

Загрузить плагин K2 JComments 1.2
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться