События cmsActions

Обработка событий

#1 29 декабря 2010 в 12:55
Добрый день! У меня появились вот такие вопросы.
Как я понял с начало нужно регистрировать событие, при добавление компонента

cmsActions::registerAction('present', array(
'name' => 'present_get',
'title' => 'получил подарок',
'message' => '%s|'
));
Как я понял при удалении компонента событие не удаляется то есть нужно делать проверку на событие
if (cmsActions::getAction='present_get'){регистрация события} // ну тут явно неверно написано. Есть проблема с пониманием работы с классами

затем это событие помещаем в ленту:
Вот пример
cmsActions::log('add_photo', array(
'object' => $photo['title'], //$params['object']; //Название события
'object_url' => '/photos/photo'.$photo_id.'.html', //$params['target']; //ссылка на событие
'object_id' => $photo_id, //$params['description'];???
'target' => $album_title, //$params['description'];???
'target_url' => '/photos/'.$photo['album_id'], //$params['description']; //???
'description' => $description //$params['user_id']; // ???
));


через // написал параметры принимаемые классом.

К суте вопроса

Что описываеть в каждом из параметров ленты?
#2 29 декабря 2010 в 13:53
при установке:
  1.  
  2. $inDB = cmsDatabase::getInstance();
  3. if (!$inDB->rows_count('cms_actions', "name='add_present'", 1)){
  4. //если тип события еще не добавлен
  5. cmsActions::registerAction('название_компонента', array(
  6. 'name' => 'add_present', //название типа события
  7. 'title' => 'Получение подарка', //описание типа для админки
  8. 'message' => 'получает подарок %s|' //текст для ленты
  9. ));
  10. }
  11.  
текст для ленты может состоять из двух частей, разделенных чертой "|"
в первой части предполагается писать название объекта, во второй — место
например "добавляет статью %s| в раздел %s"
черта нужна для того, чтобы можно было отключить вывод вторых частей в настройках ленты
(т.е. сделать просто "добаляет статью %s")

%s будет заменяться на текст, передаваемый при создании события (об этом ниже)
#3 29 декабря 2010 в 14:00
добавление события в ленту:

  1.  
  2. cmsActions::log('add_present', array(
  3. 'object' => $title, //Название подарка
  4. 'object_url' => '/url/to/present.html', //ссылка на страницу с подарком
  5. 'object_id' => $present_id //Уникальный ID подарка
  6. ));
  7.  
Этот код нужно вызывать при создании подарка

при удалении подарка нужно удалить связанное с ним событие ленты:

  1.  
  2. //удаляем все события add_present для подарка с ID = $present_id
  3. cmsActions::removeObjectLog('add_present', $present_id);
  4.  
#4 29 декабря 2010 в 15:08
спасибо!)
#5 30 июля 2011 в 17:58

cmsActions::<span class="search_match">registerAction</span>

Администратор
я из за этого косяка потратил ночью уйму времени… понять не мог почему не регистрирует😥 исправте…

сегодня незамыленым глазом увидел что там и как…
#6 30 июля 2011 в 18:24

удаляем все события

Администратор

не могу никак разобраться, а где удаляется из cms_actions след об этом?
#7 31 июля 2011 в 20:20
Рачей, какого еще косяка? и что за жаргон такой, на вокзале чтоли?
#8 6 декабря 2011 в 15:47
Подскажите пожалуйста, в 1.9 не заносится событие добавления гостями объявления, комментария. От этого страдает конечный пользователь, рассчитывая на полную информативность ленты активности. Как вылечить?
добрались в коде frontend.php из components/comments

Об этой ошибке писали еще для 1.8 но до сих пор не вылечили. Помогите пожалуйста найти решение
#9 6 декабря 2011 в 18:48

Подскажите пожалуйста, в 1.9 не заносится событие добавления гостями объявления, комментария.

Минона
данный функционал не заложен.

Как вылечить?

Минона
дописать самим нужный вам функционал.

Об этой ошибке писали

Минона
это не ошибка
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.