Magento Save And Next - PullRequest
       1

Magento Save And Next

0 голосов
/ 24 октября 2011

Для моей компании я работаю над пользовательским модулем перевода для Magento. В форме для перевода существующей строки я хотел бы изменить поведение кнопки «Сохранить и продолжить» на кнопку «Сохранить и продолжить». Под этим я подразумеваю, что вместо того, чтобы по-прежнему редактировать одну и ту же строку, вы получаете следующую строку.

Я попытался изменить ссылку, которая вызывается для сохранения и продолжения:

Original:
[save-link] + "/back/edit/"

To:
[save-link] + "/back/edit/id/[id]/"

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

Неизменный код формы редактирования:

<?php

class Phpro_Advancedtranslate_Block_Adminhtml_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
{
    public function __construct()
    {
        parent::__construct();

        $this->_objectId = 'id';
        $this->_blockGroup = 'advancedtranslate';
        $this->_controller = 'adminhtml';

        $this->_updateButton('save', 'label', Mage::helper('advancedtranslate')->__('Save Item'));
        $this->_updateButton('delete', 'label', Mage::helper('advancedtranslate')->__('Delete Item'));

        $this->_addButton('saveandcontinue', array(
            'label'     => Mage::helper('adminhtml')->__('Save And Next'),
            'onclick'   => 'saveAndContinueEdit()',
            'class'     => 'save',
        ), -100);

        $currentId = Mage::getSIngleton('adminhtml/session')->getTranslateId();
        $strings = Mage::getModel("advancedtranslate/advancedtranslate")->getCollection();
        foreach ($strings as $string) {
            $id = $string->getId();

            if ($id != $currentId && $id < $nextId) {
                $nextId = $id;
            }
        }

        $this->_formScripts[] = "
            function toggleEditor() {
                if (tinyMCE.getInstanceById('advancedtranslate_content') == null) {
                    tinyMCE.execCommand('mceAddControl', false, 'advancedtranslate_content');
                } else {
                    tinyMCE.execCommand('mceRemoveControl', false, 'advancedtranslate_content');
                }
            }

            function saveAndContinueEdit(){
                editForm.submit($('edit_form').action+'back/edit/');
            }
        ";
    }

    public function getHeaderText()
    {
        return Mage::helper('advancedtranslate')->__("Edit Item '%s'", 'test');

    }
}

1 Ответ

2 голосов
/ 24 октября 2011

Эта функция должна происходить в контроллере, который обрабатывает сообщение. Установите _redirect для перенаправления на следующий элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...