我已經開始研究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 \後端\塊\小工具\網格\擴展」
<?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。
最佳做法是通過UI組件(xml)創建所有網格。
調查Magento_目錄模塊並找到product_form.xml。