Пейджер не показывает предметы.Это показывает их количество и даже страницы.Но это ничего не разбивает на страницы.
Код ниже.
Block / TestClass.php
<?php
namespace Wade\Crud\Block;
class TestClass extends \Magento\Framework\View\Element\Template{
/**public function _prepareLayout()
{
return parent::_prepareLayout();
}*/
protected $_pageFactory;
protected $_postFactory;
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Framework\View\Result\PageFactory $pageFactory,
\Wade\Crud\Model\PostFactory $postFactory
) {
$this->_pageFactory = $pageFactory;
$this->_postFactory = $postFactory;
return parent::__construct($context);
}
protected function _prepareLayout(){
parent::_prepareLayout();
if ($this->getModelData()) {
$pager = $this->getLayout()->createBlock('Magento\Theme\Block\Html\Pager')
->setAvailableLimit(array(5=>5))->setShowPerPage(true)->setCollection($this->getModelData());
$this->setChild('pager', $pager);
$this->getModelData()->load();
}
return $this;
}
public function getPagerHtml(){
return $this->getChildHtml('pager');
}
public function getModelData(){
$this->_isScopePrivate = true;
$data = $this->_postFactory->create();
$collection = $data->getCollection();
return $collection;
}
}
?>
И файл шаблона .phtml
<?php if ($block->getPagerHtml()): ?>
<div class="order-products-toolbar toolbar bottom"><?php echo $block->getPagerHtml(); ?></div>
<?php endif ?>
Результат показывает: Всего пунктов с 1 по 5 из 14.Таким образом, отображается как минимум правильное количество предметов в коллекции.Но опять же, ничего не отображается.