Перейти к содержимому


Фотография
- - - - -

Вывести рейтинг материала на другой сайт


Лучший Ответ SmetDenis , 23 March 2014 - 17:32

Написать вам расширение я не могу.

Но могу подтолкнуть в нужную сторону.

 

В шаблоне full сделайте такое условие

if ($this->app->jbrequest->is('rating', 1)) {
    $this->app->jbajax->disableTmpl();
    $this->renderPosition('rating');
} else {
    // код остального шаблона
}

 

Теперь попытке загрузить детальную страницу с параметром rating=1 (/category/item?rating=1)

будет открываться только рейтинг.

 

На произвольный сайт вставляйте iframe

<iframe src="http://sitem.com/category/item?rating=1"></iframe>

 

Не уверен что будет работать верно, но примерно как то так

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 10

#1 solohub

solohub

Отправлено 23 March 2014 - 11:00

Скажи те пожалуйста может кто задавался вопросом: есть материал у него есть элемент рейтинга, так вот каким образом возможно сделать что бы значение этого рейтинга вывести на другой сайте. (как пример есть фирма для нее проставляется рейтинг, а сами владельцы этой фирмы при желании размещают его на своем сайте, Тот же принцип как и на Яндекс.Маркете.)


  • 0

#2 SmetDenis

SmetDenis

Отправлено 23 March 2014 - 11:39

Как вариант.

Элемент рейтинга умеет вставить данные микро разметки

Выглядит это примерно так
xfy_200x0.png

Обычно это нужно для поисковиков, чтобы они умели делать так
90u_200x0.png

Другой вариант.
Можно сделать небольшой виджет в виде вставки фрейма, который отображает материал с единственной позицией и элементом.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 solohub

solohub

Отправлено 23 March 2014 - 11:56

сейчас поставил в настройках элемента рейтинг Show Microdata в значение да, но такого нет в разметке как у вас  

<div id="a6145996-4ce6-4a11-8aa9-c17a13b67cc0-532ee6fe44562" class="yoo-zoo rating">

	<div class="rating-container star5">
		<div class="previous-rating" style="width: 100%;"></div>

				<div class="current-rating">

						<div class="stars star5" title="5 из 5"></div>
						<div class="stars star4" title="4 из 5"></div>
						<div class="stars star3" title="3 из 5"></div>
						<div class="stars star2" title="2 из 5"></div>
						<div class="stars star1" title="1 из 5"></div>
			
		</div>
			</div>

		<div class="vote-message">
		5.0/<strong>5</strong> оценка (2 голосов)	</div>
	
	
</div>

  • 0

#4 SmetDenis

SmetDenis

Отправлено 23 March 2014 - 12:16

У вас последняя версия Zoo ?
Кеширование не включено?

Что у вас находится тут в шаблоне рейтинга?
media\zoo\elements\rating\tmpl\rating.php
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 solohub

solohub

Отправлено 23 March 2014 - 12:43

zoo 3.1.3

кеш выключен 

содержимое файла 

<?php
/**
* @package   com_zoo
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

// include assets js/css
$this->app->document->addScript('elements:rating/assets/js/rating.js');
$this->app->document->addStylesheet('elements:rating/assets/css/rating.css');

$id = $this->identifier.'-'.uniqid();

?>
<div id="<?php echo $id; ?>" class="yoo-zoo rating">

	<div class="rating-container star<?php echo $stars; ?>">
		<div class="previous-rating" style="width: <?php echo intval($rating / $stars * 100); ?>%;"></div>

		<?php if (!$disabled) : ?>
		<div class="current-rating">

			<?php for($i = $stars; $i > 0; $i--) : ?>
			<div class="stars star<?php echo $i; ?>" title="<?php echo $i.' '.JText::_('out of').' '.$stars; ?>"></div>
			<?php endfor ?>

		</div>
		<?php endif; ?>
	</div>

	<?php if ($show_message) : ?>
	<div class="vote-message">
		<?php echo $rating.'/<strong>'.$stars.'</strong> '.JText::sprintf('rating %s votes', $votes); ?>
	</div>
	<?php endif; ?>

	<?php if ($show_microdata) : ?>
	<div itemscope itemtype="http://data-vocabulary.org/Review-aggregate">
		<meta itemprop="itemreviewed" content="<?php echo $this->getItem()->name; ?>" />
		<div itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">
			<meta itemprop="average" content="<?php echo number_format($rating, 1); ?>" />
			<meta itemprop="best" content="<?php echo $stars; ?>" />
		</div>
		<meta itemprop="votes" content="<?php echo $votes; ?>"/>
	</div>
	<?php endif; ?>

</div>
<?php if (!$disabled) : ?>
	<script type="text/javascript">
		jQuery(function($) {
			$('#<?php echo $id; ?>').ElementRating({ url: '<?php echo $link; ?>' });
		});
	</script>
<?php endif;

  • 0

#6 solohub

solohub

Отправлено 23 March 2014 - 12:59

Все отображается стоял плагин сжатия, как отключил его, заработал.

А как теперь этот блок вывести на другом сайте, ведь в микроразметке нет упоминаний о странице источнике \


  • 0

#7 SmetDenis

SmetDenis

Отправлено 23 March 2014 - 13:39

Сторонний сайт тогда должен парсить вашу страницу, находить там микрораметку (например регулярным выражением) и показывать у себя. Желательно кешировать.
Либо делайте полноценный виджет на JS, который будет генерировать iframe
или сразу, вставлять блок через iframe.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 solohub

solohub

Отправлено 23 March 2014 - 14:35

а возможно ли у Вас заказать написание такого элемента который бы выводил уже готовый код для вставки на сторонний сайт (к примеру"Код для вставки рейтинга на свой сайт: и сам код для копирования"), и сколько будет стоить?


  • 0

#9 Sliapy

Sliapy

Отправлено 23 March 2014 - 15:48

Разработчики JBZoo не занимаются написанием каких-то компонентов на заказ и доработкой сторонних проектов. Вы всегда можете попробовать обратиться в коммерческий раздел - http://forum.jbzoo.c...oznagrazhdenie/


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#10 SmetDenis

SmetDenis

Отправлено 23 March 2014 - 17:32   Лучший Ответ

Написать вам расширение я не могу.

Но могу подтолкнуть в нужную сторону.

 

В шаблоне full сделайте такое условие

if ($this->app->jbrequest->is('rating', 1)) {
    $this->app->jbajax->disableTmpl();
    $this->renderPosition('rating');
} else {
    // код остального шаблона
}

 

Теперь попытке загрузить детальную страницу с параметром rating=1 (/category/item?rating=1)

будет открываться только рейтинг.

 

На произвольный сайт вставляйте iframe

<iframe src="http://sitem.com/category/item?rating=1"></iframe>

 

Не уверен что будет работать верно, но примерно как то так


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!