Тема: Как сделать отдельную страницу с отзывами (комментариями)?
Добрый вечер! Как сделать отдельную страницу с отзывами или комментариями.
А то сейчас отзывы можно оставить к товарам, а хочется чтобы оставляли отзывы в адрес магазина.
Форум ReadyScript Вопросы по созданию тем оформления Как сделать отдельную страницу с отзывами (комментариями)?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый вечер! Как сделать отдельную страницу с отзывами или комментариями.
А то сейчас отзывы можно оставить к товарам, а хочется чтобы оставляли отзывы в адрес магазина.
Создайте меню с типом статья. В Веб-сайт->Конструктор сайта добавьте эту страницу. В ней добавьте блок с комментариями и укажите у него тип комментариев "статья".
Смогу подсказать подробнее, если укажите какая у Вас тема оформления.
Создайте меню с типом статья. В Веб-сайт->Конструктор сайта добавьте эту страницу. В ней добавьте блок с комментариями и укажите у него тип комментариев "статья".
Смогу подсказать подробнее, если укажите какая у Вас тема оформления.
Тема - детская
Ну тогда точно так как я и сказал.
Александр, я попробовал сделать так, как Вы написали. Не получилось. Просто только "шапка" и "подвал". По центру ничего. Тема "Детская"
Александр, я попробовал сделать так, как Вы написали. Не получилось. Просто только "шапка" и "подвал". По центру ничего. Тема "Детская"
Попробуйте добавить блок в середину "Главное содержимое страницы" и поместите его выше Вашего блока с выводом комментариев
Пробовал, незнаю как тут фото выкладывать, так бы показал
Я реализовавыл данный функционал Оказывается блок комментариев предназначен только для новостей)
http://forum.readyscript.ru/topic/483/v … mentariev/ вот обсуждение.
Пришлось добавить новый тип комментариев- отзывы.
http://forum.readyscript.ru/post/2010/#p2010
В понедельник выложу свой вариант.
Ярослав, здравствуйте, а можно для тех кто не "шарит" по подробнее?? Спасибо.
Теперь создайте пункт меню на статью "Отзывы".
В папке 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"
Теперь у нас в админке есть комментарии с типом "Отзывы" на странице "Отзывы")))
...Теперь создайте пункт меню на статью "Отзывы".
В папке 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 страницы.
Спасибо
id - в списке статей в колонке "№"
Прошу прощения, в файле feedback.inc.php в самом начале в строке
namespace evAddons\Model\CommentType;
надо заменить на
namespace Article\Model\CommentType;
СПАСИБО!!!!!!!!!!!
Подскажите пожалуйста, сделал всё как написано выше, получил вот такую страницу http://minapo.ru/otzyvy/ добавился один комментарий и дальше при нажатии на кнопку добавления коммента ничего не происходит. Тема сделана на основе воздушной.
Что у вас в настройках модуля?
http://take.ms/YbuRb
Возможно не проставлено "несколько комментариев с 1 ip адреса"
Теперь создайте пункт меню на статью "Отзывы".
В папке modules/article/model/commenttype создайте файл feedback.inc.php
Поясните плиз, это адрес в коробочной версии? В облаке нет таких папок. Куда там поместить файл feedback.inc.php ?
Ярослав пишет:Теперь создайте пункт меню на статью "Отзывы".
В папке modules/article/model/commenttype создайте файл feedback.inc.phpПоясните плиз, это адрес в коробочной версии? В облаке нет таких папок. Куда там поместить файл feedback.inc.php ?
Здесь реализовали в облаке
http://forum.readyscript.ru/topic/932/s … -otzyvami/
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум ReadyScript Вопросы по созданию тем оформления Как сделать отдельную страницу с отзывами (комментариями)?