Пользовательский модуль в Magento 1.5 зависает при просмотре сетки

У меня установлен Magento 1.5, и я работаю над этим учебником http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/custom_module_with_custom_database_table

После того, как бэкэнд и внешний интерфейс заработали, я начал работать над добавлением настраиваемых объектов, которые принадлежат настраиваемому модулю. Объекты добавляются просто отлично. Объекты можно легко редактировать, сохранять и удалять. Однако при попытке поиска или просмотра за пределами первой страницы на экране появляется и зависает загрузчик Please Wait Loader. За загрузчиком видно, что следующая страница / страница результатов поиска загружает объекты и отображает их правильно, однако загрузчик не закрывается и оставляет страницу недоступной. Консоль Firebug не сообщает об ошибках, и когда я проверяю информацию о публикации в консоли, она показывает правильный html для возвращаемой таблицы, строк и объектов.

Я проверил журналы ошибок для сервера, а также журналы ошибок для Magento, и никаких ошибок не отображается (за исключением прошлых ошибок в том, чтобы заставить руководство работать в первую очередь).

Любая помощь будет очень признательна.


person Schenn    schedule 25.01.2013    source источник
comment
Если это важно, настраиваемый модуль - это список внешних веб-сайтов, которые продают продукцию наших компаний. Есть 4 поля - store_id, store_name, store_url и store_status. Статус магазина - это обычный выпадающий список активный / неактивный magento.   -  person Schenn    schedule 26.01.2013
comment
Вы пробовали использовать firebug для firefox или другого инструмента отладки браузера, чтобы узнать, есть ли сообщение об ошибке в ответе ajax?   -  person Domen Vrankar    schedule 26.01.2013
comment
Да, я использовал firebug, и ответ POST возвращается действительным и полным.   -  person Schenn    schedule 26.01.2013
comment
тьфу, минифицированный скомпилированный JS из десятков отдельных библиотек и файлов скриптов неинтересен до точки останова ...   -  person Schenn    schedule 28.01.2013
comment
Итак, мой коллега заметил, что модуль CMS-Store Locator не использует некоторые функции сетки или ajax, а также не использует loaderbox. Мы отключили функции ajax и grid, и проблем больше нет. Это не настоящее решение, но оно решает нашу проблему.   -  person Schenn    schedule 05.02.2013


Ответы (2)


удалите useAjax в __construct и удалите функцию getGridUrl из вашего Grid.php. Удалите gridAction из контроллера администратора, чтобы остановить этот вызов ajax.

person Schenn    schedule 05.02.2013

У меня такая же проблема, и теперь она решена.

Шаг 1. Добавьте ниже код в Grid.php

    /**
     * Define row click callback
     */
    public function getGridUrl()
    {
        return $this->getUrl('*/*/grid', array('_current'=>true));
    }

Шаг 2. Добавьте ниже код в yourController.php (т.е. контроллер adminhtml)

 /**
     * Render grid
     */
    public function gridAction()
    {
        $this->loadLayout();
        $this->renderLayout();
    }

Шаг 2. Добавьте ниже код в layout.xml (т.е. макет adminhtml)

    <adminhtml_yourContoller_grid>
        <remove name="root"/>
        <block type="yourModule/adminhtml_yourBlock_grid" name="name_grid" output="toHtml"/>
    </adminhtml_yourContoller_grid>
person Ankita P.    schedule 25.11.2013