Я начал изучать сетку Magento 2. Я разработал один простой модуль, но я не понял структуру сетки.Magento 2 сетка структура
В Magento 1.9.X, путь был ясен для добавления сетки, но в Magento 2 существует структура. Как добавить сетку в Magento 2?
Я начал изучать сетку Magento 2. Я разработал один простой модуль, но я не понял структуру сетки.Magento 2 сетка структура
В Magento 1.9.X, путь был ясен для добавления сетки, но в Magento 2 существует структура. Как добавить сетку в Magento 2?
В Magento 2, вы можете создать сетку с помощью XML (см here)
Однако, вы можете создать сетку с помощью PHP, как Magento 1: Расширение вашего сетки класс «Magento \ Backend \ Block \ Widget \ Сетка \ Расширенная»
<?php
namespace Yourpackage\Yourmodule\Block\Adminhtml\Sample;
class Grid extends \Magento\Backend\Block\Widget\Grid\Extended
{
protected $_yourmodelFactory;
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Backend\Helper\Data $backendHelper,
\Yourpackage\Yourmodule\Model\YourmodelFactory $yourmodelFactory,
array $data = []
) {
parent::__construct($context, $backendHelper, $data);
$this->_yourmodelFactory = $yourmodelFactory;
}
protected function _construct()
{
parent::_construct();
$this->setId('sample_grid');
$this->setDefaultSort('id');
$this->setDefaultDir('DESC');
$this->setSaveParametersInSession(true);
}
protected function _prepareCollection()
{
$collection = $this->_yourmodelFactory->create()->getCollection();
$this->setCollection($collection);
return parent::_prepareCollection();
}
protected function _prepareColumns()
{
$this->addColumn(
'id',
[
'header' => __('ID'),
'align' => 'right',
'width' => '50px',
'index' => 'id',
]
);
// Some columns
return parent::_prepareColumns();
}
}
Вы можете видеть больше на сайте: /vendor/magento/module-cms/Block/Adminhtml/Page/Grid.php.
Лучшей практикой является создание всех сеток через компоненты пользовательского интерфейса (xml).
Посмотрите на Magento_Catalog модуля и найти product_form.xml.