モジュールに1つのカスタムタブを作成し、1つのグリッド出力を正常に表示しましたが、私の質問は、1つのページに2つのグリッドシリアライザーブロックを表示する方法です。私はこのコードで2つのシリアライザーブロックを呼び出すことで出力しようとしました。
public function customgridAction()
{
$this->loadLayout();
$this->getLayout()->getBlock('regionpage.productgrid')->setProductsGrid($this->getRequest()->getPost('products_grid', null));
$this->getLayout()->getBlock('regionpage.articlegrid')->setArticlesGrid($this->getRequest()->getPost('articles_grid', null));
$this->renderLayout();
}
そして、これは私のレイアウトxmlがどのように見えるかです
<regionpage_adminhtml_regionpage_customgrid>
<block type="core/text_list" name="root">
<block type="regionpage/adminhtml_regionpage_edit_tab_productgrid" name="regionpage.productgrid"/>
<block type="adminhtml/widget_grid_serializer" name="regionpage_productgrid">
<reference name="regionpage_productgrid">
<action method="initSerializerBlock">
<grid_block_name>regionpage.productgrid</grid_block_name>
<data_callback>getSelectedProducts</data_callback>
<hidden_input_name>links[productgrid]</hidden_input_name>
<reload_param_name>products_grid</reload_param_name>
</action>
<action method="addColumnInputName">
<input_name>position</input_name>
</action>
</reference>
</block>
</block>
<regionpage_adminhtml_regionpage_customgrid>
<block type="core/text_list" name="root">
<block type="regionpage/adminhtml_regionpage_edit_tab_articlegrid" name="regionpage.articlegrid"/>
<block type="adminhtml/widget_grid_serializer" name="regionpage_articlegrid">
<reference name="regionpage_articlegrid">
<action method="initSerializerBlock">
<grid_block_name>regionpage.articlegrid</grid_block_name>
<data_callback>getSelectedArticles</data_callback>
<hidden_input_name>links[articlegrid]</hidden_input_name>
<reload_param_name>articles_grid</reload_param_name>
</action>
<action method="addColumnInputName">
<input_name>position</input_name>
</action>
</reference>
</block>
</block>
</regionpage_adminhtml_regionpage_customgrid>
ただし、両方のブロックではなく、最後のブロックを出力します。