2014-01-27 2 views
1

Я хочу показать бэкэнд-сетку на вкладке конфигурации системы. Для этого я сделал кнопку, а onClick я назвал код, написанный на контроллере, и получил блок «grid.php» через Ajax. Вот код контроллераMagento Backend Grid В конфигурации системы

$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') 
    ); 

Моя проблема по умолчанию Разбивка и фильтры не работают на сетке. Fire Bug Show JS Ошибки. ReferenceError: code_gridJsObject не определен

code_gridJsObject.loadByElement (это)

+0

Я знаю, что это проблема с разбивкой по страницам, которая вызывает через Ajax ... –

ответ

0

Убедитесь, что $ this-> setUseAjax (истина); записываются в конструкторе grid.php

В JS кода возвращенного Ajax вызова не является исполняемым по умолчанию, вы должны сделать что-то вроде

 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

Спасибо Ахмед, что ты сделал потрясающий :) –

Смежные вопросы