Сетка администратора Magento, отправляющая данные из Action в Controller - PullRequest
3 голосов
/ 20 апреля 2011

Я пытаюсь написать собственное действие для запуска из сетки администратора, которую я построил. Можно ли отправить значение из столбца в сетке в контроллер через get или post?

Я пробовал поискать в Google, но нигде не могу найти правильного объяснения этому. Ссылка на объяснение настроек столбца («получатель», «тип» и т. Д.) Также будет полезна, если она доступна.

1 Ответ

10 голосов
/ 20 апреля 2011

Добавьте этот код в свой Grid.php:

        $this->addColumn('action',
            array(
            'header'    =>  Mage::helper('yourmodulename')->__('Action'),
            'width'     => '100',
            'type'      => 'action',
            'getter'    => 'getId',
            'actions'   => array(
                    array(
                            'caption'   => Mage::helper('yourmodulename')->__('Edit'),
                            'url'       => array('base'=> '*/*/edit'),
                            'field'     => 'id'
                    )
            ),
            'filter'    => false,
            'sortable'  => false,
            'index'     => 'stores',
            'is_system' => true,
    ));

, который создаст URL «Edit» с идентификатором выбранной строки в качестве части URL.Это будет выглядеть примерно так: <frontname>/<controllername>/edit/id/<value>, где value возвращается получателем getId().

Поле getter будет выполнять любой из стандартных магических getter Magento, т. Е. Любой атрибут является gettable.Таким образом, вы можете иметь getName или getProductUrl или getIsLeftHanded, если хотите, и ваш контроллер может проанализировать атрибут.

Затем контроллер может извлечь это переданное значение, используя Mage::app()->getRequest()->getParam('attributename');

С точки зрения документации / учебных пособий прочитайте эту статью на веб-сайте @AlanStorm какэто может помочь.

HTH,
JD

...