2014-01-27 40 views
1

我想在系统配置选项卡中显示后端网格。为此,我制作了一个按钮,onClick调用了写在控制器中的代码,并通过Ajax获取'grid.php'块。 这里是控制器代码Magento后端网格在系统配置

$this->getResponse()->setBody( $this->getLayout()->createBlock('module/adminhtml_system_config_form_codegrid')->toHtml(), 
     $serialize_block = $this->getLayout()->createBlock('adminhtml/widget_grid_serializer'), 
     $serialize_block->initSerializerBlock('module/adminhtml_system_config_form_codegrid', 'getSelectedCode', 'code', 'selected_code') 
    ); 

我的问题是默认分页和过滤器不是网格工作。火虫显示JS错误。 的ReferenceError:code_gridJsObject没有定义

code_gridJsObject.loadByElement(本)

+0

我知道这是通过Ajax调用的分页问题... –

回答

0

确保$这个 - > setUseAjax(真);写在grid.php

通过Ajax调用返回的js代码构造器默认情况下是不可执行的,你必须做一些像

 var code = transport.responseText; // Ajax returned text 
    var fieldset= document.getElementById('Configuration_Field_Set_Name'); 
    fieldset.innerHTML = code; 

    var arr = fieldset.getElementsByTagName('script') // Get All Script Tags Returned by Ajax 
    // Last Step 
    for (var n = 0; n < arr.length; n++){ 
     eval(arr[n].innerHTML) 
    } 

希望这将有助于!

+1

谢谢艾哈迈德你做了真棒:) –