Комментарии к моему компоненту 2.X

 
Посетитель
small user social cms
Сообщений: 95
Привет всем... а ткните носом пожалуйста как подключить комментарии к компоненту в instantcms2. Для первой версии нашел, а для второй что то не могу..
Спасибо.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1159
http://my-instantcms.ru/posts/3-sistema-kommenitrovanija-dlja-svoego-komponenta.html
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 624

Здравствуйте я все делаю как в описании но пишет "Ошибка создания комментария" вот $item это то что где я создал в базе comments ?
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1159
Нико, Да, $item должен содержать заголовок и ID
Код PHP:
  1. public function getTargetItemInfo($ctype_name, $id){
  2. if (!$id){ return false; }
  3. $item = $this->getItemById('ВАША_ТАБЛИЦА', $id);
  4. return array(
  5. 'url' => '/shop/view/'.$id, //тут URL на страницу просмотра записи
  6. 'title' => $item['title'], //Заголовок, который будет отображаться в комментариях
  7. 'is_private' => 0 // ноль если запись не приватный
  8. );
  9. }
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
small user social cms
Медаль
Сообщений: 624

Что я не правильно делаю ?
model.php
Код PHP:
  1. /* Комментарии */
  2. public function getSportsTeamsComments($id){ // это $item
  3. return $this->get('sport_teams');
  4. }
  5.  
  6. public function updateCommentsCount($ctype_name, $id, $comments_count){
  7. return $this->update('sport_teams', $id, array('comments' => $comments_count));
  8. }
  9.  
  10. public function getTargetItemInfo($ctype_name, $id){
  11. if (!$id){ return false; }
  12. $item = $this->getItemById('sport_teams', $id);
  13. return array(
  14. 'url' => '/sports/team/'.$id,
  15. 'title' => $item['tournament_name'],
  16. 'is_private' => 0 //для версии выше 2.2.0 необходимо
  17. );
  18. }
team.php
Код PHP:
  1. $item = $this->model->getSportsTeamsComments($id);
  2. $comments_controller = cmsCore::getController('comments', new cmsRequest(array(
  3. 'target_controller' => $this->sports, //это имя контроллера, т.е. shop
  4. 'target_subject' => $this->sports, // тоже пишем shop так как это для типов контента
  5. 'target_id' => $id // ID товара, нужен что бы найти комменты данного товара
  6. ), cmsRequest::CTX_INTERNAL));
  7. $comments_widget = $comments_controller->getWidget();
  8.  
  9. $template = cmsTemplate::getInstance();
  10.  
  11. $user = cmsUser::getInstance();
  12.  
  13.  
  14.  
  15. $template->render('team', array(
  16. 'item' => $item,
  17. 'comments_widget' => $comments_widget
  18. ));

Комментарии к моему компоненту
Редактировалось: 2 раз (Последний: 30 сентября 2017 в 16:49)
Посетитель
small user social cms
Медаль
Сообщений: 624
Evanescence, Я все сделал как в описании но не получается =(
Посетитель
small user social cms
Медаль
Сообщений: 624
Нико:

Evanescence, Я все сделал как в описании но не получается =(

'target_subject' => 'team', // тут должно быть 'название'
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1159
http://prntscr.com/grl97i оставьте как было, т.е. $this->name
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
small user social cms
Медаль
Сообщений: 624
Evanescence:

http://prntscr.com/grl97i оставьте как было, т.е. $this->name

Да понял
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.