private:koding:hostcms:modules:shop:useful:comments_pagination

Пагинация комментариев

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

Здесь может помочь следующее решение.

  1. Для вывода первой страницы используем примерно следующий код:
    if ($Shop_Controller_Show->item)
    {
    	$oShopItemCommentController = new Shop_Item_Comment_Controller(
    		Core_Entity::factory('Shop_Item', $Shop_Controller_Show->item)
    	);
     
    	$Shop_Controller_Show
    		->comments(FALSE)
    		->addEntity(
    			$oShopItemCommentController->getCommentsAggregationXml()
    		)
    		->addEntity(
    			$oShopItemCommentController->getCommentsXml()
    		);
    }
  2. Для вывода последующих страниц:
    // ....
     
    $oShopItemCommentController = new Shop_Item_Comment_Controller(
    	Core_Entity::factory('Shop_Item', $oShopControllerShow->item)
    );
     
    $oShopItemCommentController->offset(Core_Array::getGet('offset', 0));
    $oShopItemCommentController->limit(Core_Array::getGet('limit', 5));
     
    $oShopControllerShow
    	->addEntity(
    		$oShopItemCommentController->getCommentsXml()
    	);
     
    // ....
     
    $oShopControllerShow->show();
private/koding/hostcms/modules/shop/useful/comments_pagination.txt · Last modified: 27.08.18 в 09:05 by maximzasorin_gmail.com