Как отправить форму из внешнего интерфейса и показать значения в сетке на панели бэкэнда magento? - PullRequest
1 голос
/ 21 декабря 2011

Я снова отправляю этот вопрос, так как не смог сделать то, что хотел, а также не получил ответа на свой предыдущий вопрос.Надеюсь, на этот раз он попадется на глаза тому, кто может ответить.

Я создал модуль, который позволяет отправлять форму в бэкэнде, как модуль новостей, модуль faqs и т. Д., И отображает результат в сетке..

Но сейчас мне нужно, чтобы я смог сохранить внешний вид формы и показать результаты в сетке.

Мне сказали, что это можно сделать с помощью indexcontroller.php моегомодуль.Поэтому я скопировал действие сохранения контроллера adminhtml и попытался использовать его в контроллере индекса.

public function postAction() {
    if ($data = $this->getRequest()->getPost()) {


                $model = Mage::getModel('events/events');       
                $model->setData($data)
                    ->setId($this->getRequest()->getParam('id'));

                try {
                    if ($model->getCreatedTime == NULL || $model->getUpdateTime() == NULL) {
                        $model->setCreatedTime(now())
                            ->setUpdateTime(now());
                    } else {
                        $model->setUpdateTime(now());
                    }   

                    $model->save();
                    Mage::getSingleton('core/session')->addSuccess(Mage::helper('events')->__('Item was successfully saved'));
                    Mage::getSingleton('core/session')->setFormData(false);

                    if ($this->getRequest()->getParam('back')) {
                        $this->_redirect('*/*/edit', array('id' => $model->getId()));
                        return;
                    }
                    $this->_redirect('*/*/');
                    return;
        } catch (Exception $e) {
            Mage::getSingleton('core/session')->addError($e->getMessage());
            Mage::getSingleton('core/session')->setFormData($data);
            $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
            return;
        }
        }
        Mage::getSingleton('core/session')->addError(Mage::helper('events')->__('Unable to find item to save'));
        $this->_redirect('*/*/');
        }

    /* testing */

и во внешнем интерфейсе создал файл phtml:

<div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>


<form  action="<?php echo $this->getPostActionUrl(); ?>" method="post" enctype="multipart/form-data" id="events_form">

    <div class="fieldset">

        <ul class="form-list">
            <li>
                <label for="title"><em>*</em><?php echo Mage::helper('events')->__('Title:') ?></label>
                <div class="input-box">
                    <input style="font-size:14px;" name="title" id="content" value="" class="input-text required-entry" type="text" size="29"/>
                </div>
            </li>

            <li class="wide">
                <label for="content" class="required"><em>*</em><?php echo Mage::helper('events')->__('Description:') ?></label>
                <div class="input-box">
                    <textarea name="content" id="content" title="<?php echo Mage::helper('events')->__('Description') ?>" class="input-text required-entry" style="font-size:14px;" name="overview" cols="55" rows="30"></textarea>
                </div>
            </li>


        </ul>
    </div>
    <div class="buttons-set">
        <p class="required"><?php echo Mage::helper('events')->__('* Required Fields') ?></p>
        <input type="text" name="hideit" id="hideit" value="" style="display:none !important;" />
        <button type="submit" title="<?php echo Mage::helper('events')->__('Submit') ?>" class="button"><span><span><?php echo Mage::helper('events')->__('Submit') ?></span></span></button>
    </div>

</form>


    <script type="text/javascript">
    //<![CDATA[
        var eventsForm = new VarienForm('events_form', true);
    //]]>
    </script>

Но не повезло :( Может кто-нибудь, пожалуйста, скажите мне, как это сделать.

...