ezpublish.ru / Форумы / Для пользователей / Принудительные уведомления (notifications)




Принудительные уведомления (notifications)

Для доступа к форумам необходимо авторизоваться. Это можно сделать здесь

Автор Сообщение

Андрей Астахов

Вт, 22 мая 2007 14:18:01

Есть коллектив редакторов, которые наполняют сайт контентом через админку.
Задача состоит в том, чтобы принудительно подписывать одних редакторов на изменение контента в одних ветках, других на изменение в других.
Как пример: один из редакторов отвечает за просмотр комментариев. Его нужно подписать на появление комметариев на всем сайте. Именно комментариев, а не чего угодно. Авторов блогов нужно подписать на появление комментариев в их блогах, но только их блогов и ничего более.
Есть ли станадртная возможность, о которой я не подозреваю, или extension, который позводил бы гибко управлять чужими notifications'ами?

-----------------------------------
Простобанк Консалтинг
http://www.prostobank.com/

Павел Коновалов

Ср, 20 июня 2007 17:22:38

Если я вас правильно понял, то вам необходимо рассылать уведомления определённому контингенту при добавлении какого-либо объекта?
Может быть стоит написать worlflow, где и будет происходить рассылка:
Может быть такой вариант вам подойдёт:

file: eventtypes/event/notificationtype.php
define( "NotificationType_ID", "notification" );

class NotificationType extends eZWorkflowEventType{
function NotificationType(){
$this->eZWorkflowEventType( NotificationType_ID, ezi18n( 'kernel/workflow/event', "Notifications" ) );
$this->setTriggerTypes( array( 'content' => array( 'publish' => array( 'after' ) ) ) );
}
function execute( &$process, &$event ){
$parameters = $process->attribute( 'parameter_list' );
$object =& eZContentObject::fetch( $parameters['object_id'] );
if ( in_array( $object->attribute( 'class_identifier' ), array('<class_identifier>') ) ){
get users
....
foreach(all users){
send notification
}
}
return EZ_WORKFLOW_TYPE_STATUS_ACCEPTED;
}
}
eZWorkflowEventType::registerType( NotificationType_ID, "notificationtype" );


ну а потом повесить нужный тригер, и всё должно работать.

Only strong the survive