我可以在一个 magento 模块中使用多个网格吗?
<?php
class <Namespace>_<Module>_Block_Adminhtml_<Module> extends Mage_Adminhtml_Block_Widget_Grid_Container
{
public function __construct()
{
$this->_controller = 'adminhtml_<module>';
$this->_blockGroup = '<module>';
$this->_headerText = Mage::helper('<module>')->__('Item Manager');
$this->_addButtonLabel = Mage::helper('<module>')->__('Add Item');
parent::__construct();
}
}
所以如果我必须使用模块,我可以创建一个网格,这意味着网格严重依赖模块,那么我们如何在同一个模块中使用多个网格?我找不到路,请指导我。
我在尝试让它继续前进时遇到了错误。我更多地描述它
我的网格容器
class World_Exporter_Block_Adminhtml_Import extends Mage_Adminhtml_Block_Widget_Grid_Container{
public function __construct()
{
// Correction made on getting answer
$this->_controller = 'adminhtml_import';
$this->_blockGroup = 'exporter';
// Correction made on getting answer
$this->_headerText = Mage::helper('exporter')->__('Item Manager');
$this->_addButtonLabel = Mage::helper('exporter')->__('Add Item');
}
}
和我的网格
class World_Exporter_Block_Adminhtml_Import_Grid extends Mage_Adminhtml_Block_Widget_Grid{
public function __construct(){
parent::__construct();
$this->setId('imports');
$this->setSaveParametersInSession(false);
// As it was not calling prepareCollection() I explicitly call it
$this->_prepareCollection();
}
protected function _prepareCollection(){
$collection = Mage::getModel('exporter/imports')->getCollection();
$this->setCollection($collection);
return parent::_prepareCollection();
}
protected function _prepareColumns(){
// return false;
$this->addColumn('import_id ', array(
'header' => Mage::helper('exporter')->__('ID'),
'align' => 'right',
'width' => '50px',
'index' => 'import_id ',
));
$this->addColumn('import_file', array(
'header' => Mage::helper('exporter')->__('File Name'),
'align' => 'left',
'index' => 'import_file',
));
$this->addColumn('import_time', array(
'header' => Mage::helper('exporter')->__('Import Time'),
'align' => 'left',
'index' => 'import_time',
));
$this->addColumn('profile_id', array(
'header' => Mage::helper('exporter')->__('Profile'),
'align' => 'left',
'index' => 'profile_id',
));
return parent::_prepareColumns();
}
protected function _prepareMassaction(){
$this->setMassactionIdField('import_id');
$this->getMassactionBlock()->setFormFieldName('imports');
return $this;
}
}
我的控制器
class World_Exporter_Adminhtml_ExporterController extends Mage_Adminhtml_Controller_action{
public function importAction(){
$this->_initAction();
$this->_addContent($this->getLayout()->createBlock('exporter/adminhtml_import'));
$this->renderLayout();
}
}
我的 confix xml 块
<models>
<exporter>
<class>World_Exporter_Model</class>
<resourceModel>exporter_mysql4</resourceModel>
</exporter>
<exporter_mysql4>
<class>World_Exporter_Model_Mysql4</class>
<!-- declate table test -->
<entities>
<profiles>
<table>profiles</table>
</profiles>
<imports>
<table>imports</table>
</imports>
<columns>
<table>columns</table>
</columns>
</entities>
<!-- -/- -->
</exporter_mysql4>
</models>
我的模型
class World_Exporter_Model_Imports extends Mage_Core_Model_Abstract
{
public function _construct()
{
$this->_init('exporter/imports');
}
}
Mysql4模型
class World_Exporter_Model_Mysql4_Imports extends Mage_Core_Model_Mysql4_Abstract
{
public function _construct()
{
$this->_init('exporter/imports', 'import_id');
}
}
我的收藏
class World_Exporter_Model_Mysql4_Imports_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
public function _construct(){
parent::_construct();
$this->_init('exporter/imports');
}
}