Добавление записи в ленту InstantCms 2

 
Посетитель
no avatar
Сообщений: 12
Доброе время суток, в документации есть описание занесения в ленту для первой версии. Но как сделать грамотное занесение для второй версии ?
На данный момент решил проблему , не очень хорошим методом , прямым занесением записи в таблицу cms_activity .

метод модели :
Код PHP:
  1.  
  2. public function addActiveLog($data){
  3.  
  4. cmsCache::getInstance()->clean("activity.entries");
  5.  
  6. return $this->insert('activity', $data);
  7.  
  8. }
  9.  
действие в экшене:
Код PHP:
  1.  
  2. $this->model->addActiveLog(
  3. 'type_id' => 20 , // прописан жёстко - не хорошо
  4.  
  5. 'user_id' => $uid ,
  6.  
  7. 'subject_title' => $formdata['title'],
  8.  
  9. 'subject_id' => $id,
  10.  
  11. 'subject_url' => href_to('pets' , 'page' , $id ) ,
  12.  
  13. 'is_private' => 0
  14.  
  15. )
  16.  
  17. )
  18.  
Вопрос: Какой правильный метод занесения в ленту? прошу поделиться.
Редактировалось: 1 раз (Последний: 9 января 2015 в 18:12)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1159
Для начало, надо добавить запись в cms_activity_types
Код PHP:
  1. INSERT INTO `cms_activity_types` (`is_enabled`, `controller`, `name`, `title`, `description`) VALUES (1, 'duels', 'add', 'Дуэль началась', 'и %s начинают дуэль');
(в запросе - 'и %s начинают дуэль' - означает что в место %s добавиться ник пользователя)
потом из своего компонента надо обращаться к компоненту activity, типа так:
Код PHP:
  1. cmsCore::getController('activity')->addEntry('duels', "add", array(
  2. 'subject_title' => $profile['nickname'], // ник пользователя
  3. 'subject_id' => $profile['id'], // ID пользователя
  4. 'subject_url' => href_to('users', $profile['id']), // ссылка на профиль
  5. ));
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Реклама
cms
Посетитель
no avatar
Сообщений: 12
Тип уже создан , интересовал сам метод занесения в базу, конечно мне кажется так будет заносить правильно, но мой способ будет быстрее по-этому оставлю всё как есть, спасибо за ответ, поставил бы плюсик к карме, да уже ставил )
InstantCMS Team
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1343
d1ms:
но мой способ будет быстрее по-этому оставлю всё как есть
Ваш способ зависит от места и способа хранения записей, и если однажды он изменится, то все перестанет работать.
Нужно использовать уровень абстракции, так, как описал Evanescence.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
laugh rofl
d1ms:
Вопрос: Какой правильный метод занесения в ленту? прошу поделиться.
Evanescence:
правильно так...
d1ms:
спасибо, но оставлю как есть!
laugh
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.