Все отзывы о товарах на одной странице

Что-то в этом духе





Сниппет берет все отзывы «комментарии» с сайта, отбирает по ключу msProduct, ну и подставляет ответ админа (только админ может коментировать отзывы).

TicketsReviews
<?php
$comments  = $modx->getIterator('TicketComment',array('published' => 1,'parent' => 0));
$output = '';
if($comments){
	foreach ($comments as $comment) {
  		$thread = $modx->getObject('TicketThread', $comment->thread);
  		$page = $modx->getObject('modDocument', $thread->get('resource'));
		if($page->get('class_key') == 'msProduct'){
			$product = $modx->getObject('msProduct', $thread->get('resource'));
			if($reply_admin = $modx->getObject('TicketComment', array('parent' => $comment->id))) $reply = $reply_admin->get('text'); else $reply = '';
			$output .= $modx->getChunk('tpl.ticketsReviews.comment',array(
			   'text' => $comment->text,
			   'id' => $comment->id,
			   'createdon' => $comment->createdon,
			   'pagetitle' => $page->get('pagetitle'),
			   'name' => $comment->name,
			   'page' => $thread->get('resource'),
			   'product' => $product->toArray(),
			   'reply' => $reply,

			)); 
		}
	}
}
return $output;
tpl.ticketsReviews.comment
<div class="review">
	<div class="image left_"><div><a href="[[~[[+page]]]]" target="_blank"><img src="[[+product.thumb]]"></a></div></div>
	<div class="info right_">

	  <div class="user"><span>[[+name]]</span> [[+createdon:strtotime:date=`%d.%m.%Y %R`]]</div>
	  <div class="text">[[+text]]</div>
	 [[+reply:ne=``:then=`
	 <div class="answer">
			<i>Ответ службы поддержки:</i>
			<p>[[+reply]]</p>
	  </div>`]]
	</div>
	<div class="clear"></div>
</div>
вызов [[TicketReviews]]




ЕСТЬ ПРОБЛЕМА:

[[!pdoPage? &element=`TicketsReviews` &tpl=`tpl.ticketsReviews.comment` &limit=`4` ]]
не разбивает на пагинацию, если кто-то подскажет буду благодарен.
but1head
08 апреля 2015, 09:29
modx.pro
2
1 549
+4

Комментарии: 2

    Николай Загумённов
    11 апреля 2015, 23:07
    +1
    А разве нельзя для этой цели использовать сниппет TicketLatest?
    Только выводить комментарии.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2