1

Тема: Как сделать отдельную страницу с отзывами (комментариями)?

Добрый вечер! Как сделать отдельную страницу с отзывами или комментариями.
А то сейчас отзывы можно оставить к товарам, а хочется чтобы оставляли отзывы в адрес магазина.

Повысить оценку Понизить оценку

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Создайте меню с типом статья. В Веб-сайт->Конструктор сайта добавьте эту страницу. В ней добавьте блок с комментариями и укажите у него тип комментариев "статья".
Смогу подсказать подробнее, если укажите какая у Вас тема оформления.

3

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Закусило Александр пишет:

Создайте меню с типом статья. В Веб-сайт->Конструктор сайта добавьте эту страницу. В ней добавьте блок с комментариями и укажите у него тип комментариев "статья".
Смогу подсказать подробнее, если укажите какая у Вас тема оформления.

Тема - детская

Повысить оценку Понизить оценку

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Ну тогда точно так как я и сказал.

5

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Александр, я попробовал сделать так, как Вы написали. Не получилось. Просто только "шапка" и "подвал". По центру ничего. Тема "Детская"

Повысить оценку Понизить оценку

6 Отредактировано Закусило Александр (25.03.2016 12:16:55)

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Александр, я попробовал сделать так, как Вы написали. Не получилось. Просто только "шапка" и "подвал". По центру ничего. Тема "Детская"

Попробуйте добавить блок в середину "Главное содержимое страницы" и поместите его выше Вашего блока с выводом комментариев

7

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Пробовал, незнаю как тут фото выкладывать, так бы показал

Повысить оценку Понизить оценку

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Я реализовавыл данный функционал Оказывается блок комментариев предназначен только для новостей)
http://forum.readyscript.ru/topic/483/v … mentariev/ вот обсуждение.
Пришлось добавить новый тип комментариев- отзывы.
http://forum.readyscript.ru/post/2010/#p2010
В понедельник выложу свой вариант.

9

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Ярослав, здравствуйте, а можно для тех кто не "шарит" по подробнее?? Спасибо.

Повысить оценку Понизить оценку

10 Отредактировано Ярослав (28.03.2016 16:32:41)

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Теперь создайте пункт меню на статью "Отзывы".
В папке modules/article/model/commenttype создайте файл feedback.inc.php
В СТРОКЕ с текстом 

return 20;//страница отзывов

замените 20 на id статьи "Отзывы".

<?php
/**
* ReadyScript (http://readyscript.ru)
*
* @copyright Copyright (c) ReadyScript lab. (http://readyscript.ru)
* @license http://readyscript.ru/licenseAgreement/
*/
namespace evAddons\Model\CommentType;
//to do
//1.Вынести настройки в модуль
/**
* Тип комментария - коментарий к статье
* @ingroup Article
*/
class Feedback extends \Comments\Model\Abstracttype
{
    /**
    * Возвращает тип комментария
    */
    function getTitle()
    {
        return t('Отзывы');
    }
    
    /**
    * Возвращает ссылку на объект в административной части
    * 
    * @return string
    */
    function getAdminUrl(\Comments\Model\Orm\Comment $comment)
    {
        return \RS\Router\Manager::obj()->getAdminUrl('edit', array('id' => $comment['aid']), 'article-ctrl');
    }    
    
    /**
    * Возвращает id товара, к которому необходимо привязать комментарий
    * 
    * @return integer
    */
    function getLinkId()
    {
        $route = \RS\Router\Manager::obj()->getCurrentRoute();
       //убираем проверку на маршрут    
       
          if (isset($route->article_id)) {
                return $route->article_id;
            }
        
        return 20;//страница отзывов
  //return 9999;
    }
    
    /**
    * Обновляет поле "рейтинг" у статьи
    * Вызывается при добавлении комментария
    */
    function onAdd(\Comments\Model\Orm\Comment $comment)
    {
        if ($comment['rate']) {
            $api    = new \Comments\Model\Api(); 
            $api->recountItemRatingByComment(new \Article\Model\Orm\Article(), $comment);
        }
        return true;
    }
    
    /**
    * Действие при удалении комментария
    */
    function onDelete(\Comments\Model\Orm\Comment $comment)
    {
        $api = new \Comments\Model\Api(); 
        $api->recountItemRatingByComment(new \Article\Model\Orm\Article(), $comment);
    }
}

В папке moduleview/article  с вашей темой создайте файл view_article_feedback.tpl

<div class="newsView">
    <article>
        <h1>{$article.title}</h1>
        
        {if !empty($article.image)}
        <img class="mainImage" src="{$article.__image->getUrl(700, 304, 'xy')}" alt="{$article.title}"/>
        {/if}
        {$article.content}
    </article>
    {moduleinsert name="\Photo\Controller\Block\PhotoList" type="article" route_id_param="article_id"}
    
</div>
{moduleinsert name="\Comments\Controller\Block\Comments" type="Article\Model\CommentType\Feedback"}

В конструкторе сайта создайте страницу "Меню-ОТзывы", поместите туда блок "Статья" со статьей "Отзывы", а шаблон в настройка замените на "theme:<Ваша тема>/moduleview/article/view_article_feedback.tpl"

Теперь у нас в админке есть комментарии с типом "Отзывы" на странице "Отзывы")))

11

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Ярослав пишет:

...Теперь создайте пункт меню на статью "Отзывы".
В папке modules/article/model/commenttype создайте файл feedback.inc.php
В СТРОКЕ с текстом 

return 20;//страница отзывов

замените 20 на id статьи "Отзывы".

<?php
/**
* ReadyScript (http://readyscript.ru)
*
* @copyright Copyright (c) ReadyScript lab. (http://readyscript.ru)
* @license http://readyscript.ru/licenseAgreement/
*/
namespace evAddons\Model\CommentType;
//to do
//1.Вынести настройки в модуль
/**
* Тип комментария - коментарий к статье
* @ingroup Article
*/
class Feedback extends \Comments\Model\Abstracttype
{
    /**
    * Возвращает тип комментария
    */
    function getTitle()
    {
        return t('Отзывы');
    }
    
    /**
    * Возвращает ссылку на объект в административной части
    * 
    * @return string
    */
    function getAdminUrl(\Comments\Model\Orm\Comment $comment)
    {
        return \RS\Router\Manager::obj()->getAdminUrl('edit', array('id' => $comment['aid']), 'article-ctrl');
    }    
    
    /**
    * Возвращает id товара, к которому необходимо привязать комментарий
    * 
    * @return integer
    */
    function getLinkId()
    {
        $route = \RS\Router\Manager::obj()->getCurrentRoute();
       //убираем проверку на маршрут    
       
          if (isset($route->article_id)) {
                return $route->article_id;
            }
        
        return 20;//страница отзывов
  //return 9999;
    }
    
    /**
    * Обновляет поле "рейтинг" у статьи
    * Вызывается при добавлении комментария
    */
    function onAdd(\Comments\Model\Orm\Comment $comment)
    {
        if ($comment['rate']) {
            $api    = new \Comments\Model\Api(); 
            $api->recountItemRatingByComment(new \Article\Model\Orm\Article(), $comment);
        }
        return true;
    }
    
    /**
    * Действие при удалении комментария
    */
    function onDelete(\Comments\Model\Orm\Comment $comment)
    {
        $api = new \Comments\Model\Api(); 
        $api->recountItemRatingByComment(new \Article\Model\Orm\Article(), $comment);
    }
}

В папке moduleview/article  с вашей темой создайте файл view_article_feedback.tpl

<div class="newsView">
    <article>
        <h1>{$article.title}</h1>
        
        {if !empty($article.image)}
        <img class="mainImage" src="{$article.__image->getUrl(700, 304, 'xy')}" alt="{$article.title}"/>
        {/if}
        {$article.content}
    </article>
    {moduleinsert name="\Photo\Controller\Block\PhotoList" type="article" route_id_param="article_id"}
    
</div>
{moduleinsert name="\Comments\Controller\Block\Comments" type="Article\Model\CommentType\Feedback"}

В конструкторе сайта создайте страницу "Меню-ОТзывы", поместите туда блок "Статья" со статьей "Отзывы", а шаблон в настройка замените на "theme:<Ваша тема>/moduleview/article/view_article_feedback.tpl"

Теперь у нас в админке есть комментарии с типом "Отзывы" на странице "Отзывы")))

Все так и сделал. Теперь мне пишет:

Отзывы
Параметр: type должен содержать имя класса, наследника \Comments\Model\Abstracttype
Ошибка в контроллере: Comments\Controller\Block\Comments

Ах, да, а как узнать id страницы.
Спасибо

Повысить оценку Понизить оценку

12

Re: Как сделать отдельную страницу с отзывами (комментариями)?

id - в списке статей в колонке "№"


Прошу прощения, в файле feedback.inc.php в самом начале в строке

namespace evAddons\Model\CommentType;

надо заменить на

namespace Article\Model\CommentType;

13

Re: Как сделать отдельную страницу с отзывами (комментариями)?

СПАСИБО!!!!!!!!!!!

Повысить оценку Понизить оценку

14

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Подскажите пожалуйста, сделал всё как написано выше, получил вот такую страницу http://minapo.ru/otzyvy/ добавился один комментарий и дальше при нажатии на кнопку добавления коммента ничего не происходит. Тема сделана на основе воздушной.

Повысить оценку Понизить оценку

15 Отредактировано Ярослав (29.05.2016 20:39:32)

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Что у вас в настройках модуля?
http://take.ms/YbuRb
Возможно не проставлено "несколько комментариев с 1 ip адреса"

16

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Ярослав пишет:

Теперь создайте пункт меню на статью "Отзывы".
В папке modules/article/model/commenttype создайте файл feedback.inc.php

Поясните плиз, это адрес в коробочной версии? В облаке нет таких папок. Куда там поместить файл feedback.inc.php ?

Повысить оценку Понизить оценку

17

Re: Как сделать отдельную страницу с отзывами (комментариями)?

Юрий пишет:
Ярослав пишет:

Теперь создайте пункт меню на статью "Отзывы".
В папке modules/article/model/commenttype создайте файл feedback.inc.php

Поясните плиз, это адрес в коробочной версии? В облаке нет таких папок. Куда там поместить файл feedback.inc.php ?

Здесь реализовали в облаке
http://forum.readyscript.ru/topic/932/s … -otzyvami/

Повысить оценку Понизить оценку