Не работает действие удаления пользовательской сетки Magento

1

У меня есть специальная сетка Magento, которая показывает мой список продуктов, которые я хочу удалить, когда кто-то нажимает на действие удаления. Я написал свой код действия ниже, но он не работает каждый раз, когда я нажимаю кнопку "Удалить", он показывает мне 404 страницы при использовании url (*/*/delete) и когда я изменил URL на (*/*/../../admin/catalog_product/delete) он перейдет на страницу панели мониторинга, но не удалит мой продукт:

$this->addColumn('action',
            array(
                'header'    => 'Action',
                'width'     => '100px',
                'type'      => 'action',
                'getter'    => 'getId',
                'actions'   => array(
                    array(
                        'url'       => array('base'=> '*/*/edit'),
                        'field'     => 'id'
                    )
                )
            )
        )

Любое решение для моей этой проблемы будет действительно полезно для меня.

Теги:
magento
zend-framework
magento-1.9

2 ответа

1
Лучший ответ

Я думаю, что проблема заключается в создании URL-адреса, попробуйте сделать URL-адрес в действиях.

Примечание. Замените param_id в соответствии с вашим параметром url и именем модуля в соответствии с вашим именем модуля в помощнике.

 'actions'   => array(
                        array(
                        'caption' => Mage::helper('module_name')->__('Edit'),
                        'url'     => array(
                        'base'=>'*/*/edit',
                        'params'=> array('id'=>$this->getRequest()->getParam('param_id'))
                        ),'field'   => 'id'
                        ),

                        array(
                        'caption' => Mage::helper('module_name')->__('Delete'),
                        'url'     => array(
                        'base'=>'*/*/delete',
                        'params'=> array('id'=>$this->getRequest()->getParam('param_id'))
                        ),'field'   => 'id'
                        )

                        ),
  • 0
    Я делаю вот так getParam ('* / * / .. / .. / admin / catalog_product / delete') это тоже не работает или я что то не так делаю.
  • 0
    Привет, Эндрю, в getParam вы должны определить первичный ключ вашего модуля, который поможет определить, какую запись вы хотите удалить. поэтому попробуйте как 'params' => array ('id' => $ this-> getRequest () -> getParam ('primary_key')). Выполните действия, как указано выше, которые я определил, я уверен, что это будет работать для вас.
Показать ещё 3 комментария
0

Вы не создали действие удаления, попробуйте изменить приведенный выше код, чтобы:

$this->addColumn('action',
            array(
                'header'    => 'Action',
                'width'     => '100px',
                'type'      => 'action',
                'getter'    => 'getId',
                'actions'   => array(
                    array(
                        'url'       => array('base'=> '*/*/edit'),
                        'field'     => 'id'
                    ),
                    array(
                        'url'       => array('base'=> '*/*/delete'),
                        'field'     => 'id'
                    )
                )
  • 0
    Это не работает ... Когда я нажимаю на него, открывается пустая страница ... где, как продукт также не удаляется

Ещё вопросы

Сообщество Overcoder
Наверх
Меню