2016-01-26 66 views
0

我已經開始研究Magento 2網格。我開發了一個簡單的模塊,但我不瞭解網格的結構。Magento 2網格結構

在Magento 1.9.X中,添加網格的方式很明顯,但在Magento 2中,結構是不同的。如何在Magento 2中添加網格?

回答

3

在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。

0

最佳做法是通過UI組件(xml)創建所有網格。

調查Magento_目錄模塊並找到product_form.xml