Jump to content

Recommended Posts

Что делает: дает возможность выводить отзывы о магазине из группы/публичной страницы ВК

Что умеет: выводить сначала новые и наоборот, постраничная навигация, вывод фото, имени автора комментария и самого комментария.

 

1. Добавляем в api/Simpla.php

,'vkreviews'  => 'VKReviews' 

2. Раскидываем файлы по папкам все из архива

 

3. Добавляем в корневой .htaccess перед #Блог

# Отзывы ВК
RewriteRule ^reviews/?$	index.php?module=VKReviewsView [L,QSA]

4. Создаем в админке страницу Отзывы с адресом

reviews

5. Добавляем в simpla/SettingsAdmin.php

$this->settings->vk_group = $this->request->post('vk_group');	
$this->settings->vk_posts = $this->request->post('vk_posts'); 

6. Добавляем в simpla/disign/html/settings.tpl

<div class="block layer">
	<h2>Комментарии ВК</h2>
	<ul>
		<li><label class=property>ID группы ВК</label><input name="vk_group" class="simpla_inp" type="text" value="{$settings->vk_group|escape}" /></li>
		<li><label class=property>ID поста в группе</label><input name="vk_posts" class="simpla_inp" type="text" value="{$settings->vk_posts|escape}" /></li>
	</ul>
</div>

7. Для того чтобы вывести на главной странице последние 5 отзывов нужно добавить в view/View.php ПОСЛЕ

$this->design->smarty->registerPlugin("function", "get_posts", array($this, 'get_posts_plugin'));

следующий код

$this->design->smarty->registerPlugin("function", "get_last_reviews", array($this, 'get_last_reviews_plugin'));

в этом же файле ДО

public function get_posts_plugin($params, &$smarty)

вставить

public function get_last_reviews_plugin($params, &$smarty)
{
	if(!empty($params['var']))
		$smarty->assign($params['var'], $this->vkreviews->get_reviews($params));
}

и дальше в шаблоне сайта (например main.tpl) выводить так

{get_last_reviews var=last_reviews limit=2}
{if $last_reviews}
<div id="blog_menu">
	<h2>Новые <a href="reviews">отзывы</a></h2>
	{foreach $last_reviews as $review}
	<ul>
		<li>
			<h3>{$review->name|escape} ({$review->date|date})</h3>
			{$review->text}
		</li>
	</ul>
	{/foreach}
</div>
{/if}

 

 

Скрины:

https://yadi.sk/i/_xb7YNbimTUoS

https://yadi.sk/i/DWifH3ngmTW6U

 

Где использовать?: просто выводить отзывы из ВК. также можно совместить отзывы из вк с отзывами на сайте, сортируя их по дате, но недостатком является то, что придется выбирать каждый раз все отзывы из сайта и из вк и сортировать их все по дате.

 

UPD 04.03.2016: переписан из-за изменений в апи+добавлена поддержка аттачментов(фото, стикеры, документы, музыка).

UPD 30.03.2016: добавлен виджет вывода последних отзывов на главной (смотри пункт 7).

vk_reviews.zip

Edited by mishanya
Link to post
Share on other sites

отзыв на самом сайте написать можно?

нет, я бы написал об этом выше в возможностях. можно конечно сделать чтобы оставляя отзыв на, он постился в ВК, но тогда надо уже использовать авторизацию ВК. чтобы идентифицировать пользователя

Edited by mishanya
Link to post
Share on other sites

нет, я бы написал об этом выше в возможностях. можно конечно сделать чтобы оставляя отзыв на, он постился в ВК, но тогда надо уже использовать авторизацию ВК. чтобы идентифицировать пользователя

Мне вот просто нужны отзывы на сайте, даже без вк можно ) если появится возможность писать отзыв с сайта воспользуюсь с радостью )

Link to post
Share on other sites

Мне вот просто нужны отзывы на сайте, даже без вк можно ) если появится возможность писать отзыв с сайта воспользуюсь с радостью )

 

просто отзывы уже есть на форуме в бесплатном виде и немного сырые. но по инструкции должны работать. возможно в свободное время напишу свой модуль

Edited by mishanya
Link to post
Share on other sites

недостатком является то, что придется выбирать каждый раз все отзывы из сайта и из вк и сортировать их все по дате.[/font][/color]

Мишаня я бы посоветовал при получении отзывов через API, записывать их в БД, тогда все записи будут в одном месте и при удалении комментария с группы он все-равно останется в магазине.

P.S. Кто-то поборол загрузку картинок через этот API? Я раз 10 пробовал и в техподдержку писал, результата 0.

Link to post
Share on other sites

Мишаня я бы посоветовал при получении отзывов через API, записывать их в БД, тогда все записи будут в одном месте и при удалении комментария с группы он все-равно останется в магазине.

P.S. Кто-то поборол загрузку картинок через этот API? Я раз 10 пробовал и в техподдержку писал, результата 0.

 

смысл был в том чтобы в риалтайме выбирать комменты с вк. конечно можно писать в базу, нет проблем. но тогда например если модератор удалил какой-то коммент из вк, нужно кроном делать обновление в базе. 

 

насчет загрузки картинок куда? в посты вк? есть задание такое о фотках, завтра буду пробовать грузить в вк фото с помощью апи

Link to post
Share on other sites

смысл был в том чтобы в риалтайме выбирать комменты с вк. конечно можно писать в базу, нет проблем. но тогда например если модератор удалил какой-то коммент из вк, нужно кроном делать обновление в базе.

Не обязательно использовать крон, API много чего позволяет, дам наводку: если нет совпадения по какому то ключу комментария из БД и из ВК то не отображаем.

насчет загрузки картинок куда? в посты вк? есть задание такое о фотках, завтра буду пробовать грузить в вк фото с помощью апи

Да просто в записи группы, вот как столкнешься с этой проблемой - пиши.

В сети очень много возмущений на то что средствами API по не известной нам (и разработчикам) причине, загрузка фоток на серверы ВК не работает.

Link to post
Share on other sites
  • 4 weeks later...

у меня есть вкусняшка попроще только на php 

https://yadi.sk/d/7wdZKIS1neb3D

посмотреть можно тут 

http://www.tigon-shop.ru/otzyvy

 

и чем проще? вообще-то это решение тоже на пхп. это раз. во-вторых теги пхп уже не поддерживаются в новых вериях симпла. в третьих у вас нет пагинации а выбирает только 40 отзывов. дальше не смотрел и не пробовал работает ли. 

Edited by mishanya
Link to post
Share on other sites
  • 1 month later...

подскажите как данный модуль постовить на сайт ?

 

я бы не советовал, посмотрите выше что я написал о недостатках. + автор неадеквад и пытался всунуть непонятно что под фильтром цен. поугорать можно тут

Link to post
Share on other sites

я бы не советовал, посмотрите выше что я написал о недостатках. + автор неадеквад и пытался всунуть непонятно что под фильтром цен. поугорать можно тут

 

спасибо за ответ!

Но этоти отзывы странно отображаются, у меня у одного так ? http://prnt.sc/a9b6ou

Link to post
Share on other sites

а в чем странность? вам нужно свои стили для них добавить. 

Странность в том что 1й пост администратора - отображается всегда сверху на сайте, и вместо текста администрации "оставляйте свои отзывы....", последний комент (отзыв) пользователя.

Link to post
Share on other sites

Странность в том что 1й пост администратора - отображается всегда сверху на сайте, и вместо текста администрации "оставляйте свои отзывы....", последний комент (отзыв) пользователя.

а, скиньте ссылку на пост, посмотрю

Link to post
Share on other sites

Вот дизайн немного изменил, подправил стили, заменить файл vkreviews.tpl

 

{* Шаблон текстовой страницы *}

{* Канонический адрес страницы *}
{$canonical="/{$page->url}" scope=parent}

<!-- Заголовок страницы -->
<h1 data-page="{$page->id}">{$page->header|escape}</h1>

<!-- Тело страницы -->
{$page->body}

{* Список записей блога *}

{* Канонический адрес страницы *}
{$canonical="/reviews" scope=parent}



{include file='pagination.tpl'}

<!-- Отзывы /-->



<ul id="reviews">
	{foreach $reviews as $review}
	<li style="clear:both; margin-left: 60px; list-style-type:none;  list-style-image: url(ваш путь к картинке/files/uploads/ico/_like.png);">
		<h3>{$review->name|escape} ({$review->date|date})</h3>
		<p>
			<img src="{$review->imgs}" vertical-align: middle; style="float:left; margin:0px 15px 0px 0px">
			<h4>{$review->text}</h4>

			{if $review->attachments}
				{foreach $review->attachments as $a}
					{if $a->type=='doc'}    <a href="{$a->doc->url}" target="_blank">{$a->doc->title}</a>{/if}
					{if $a->type=='photo'}  <img src="{$a->photo->src_big}">{/if}
					{if $a->type=='sticker'}<img src="{$a->sticker->photo_512}">{/if}

					{if $a->type=='audio'}<audio controls><source src="{$a->audio->url}" type="audio/mpeg"></audio>{/if}
				{/foreach}
			{/if}
		</p>
	</li>
	{/foreach}
</ul>
<br>
<br>
<br>
<br>
<!-- Отзывы #End /-->    

{include file='pagination.tpl'}
Edited by Axotn1k
Link to post
Share on other sites

 

Вот дизайн немного изменил, подправил стили, заменить файл vkreviews.tpl

 

{* Шаблон текстовой страницы *}

{* Канонический адрес страницы *}
{$canonical="/{$page->url}" scope=parent}

<!-- Заголовок страницы -->
<h1 data-page="{$page->id}">{$page->header|escape}</h1>

<!-- Тело страницы -->
{$page->body}

{* Список записей блога *}

{* Канонический адрес страницы *}
{$canonical="/reviews" scope=parent}



{include file='pagination.tpl'}

<!-- Отзывы /-->



<ul id="reviews">
	{foreach $reviews as $review}
	<li style="clear:both; margin-left: 60px; list-style-type:none;  list-style-image: url(ваш путь к картинке/files/uploads/ico/_like.png);">
		<h3>{$review->name|escape} ({$review->date|date})</h3>
		<p>
			<img src="{$review->imgs}" vertical-align: middle; style="float:left; margin:0px 15px 0px 0px">
			<h4>{$review->text}</h4>

			{if $review->attachments}
				{foreach $review->attachments as $a}
					{if $a->type=='doc'}    <a href="{$a->doc->url}" target="_blank">{$a->doc->title}</a>{/if}
					{if $a->type=='photo'}  <img src="{$a->photo->src_big}">{/if}
					{if $a->type=='sticker'}<img src="{$a->sticker->photo_512}">{/if}

					{if $a->type=='audio'}<audio controls><source src="{$a->audio->url}" type="audio/mpeg"></audio>{/if}
				{/foreach}
			{/if}
		</p>
	</li>
	{/foreach}
</ul>
<br>
<br>
<br>
<br>
<!-- Отзывы #End /-->    

{include file='pagination.tpl'}

можно скрин пожалуйста?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...