Domanda

Sono nuovo di Magento, usando il tasto html ho avuto creare un record e reindirizzare le pagine anche, quando ho pulsante Magento creare non posso fare alcuna operazione

Qual è la differenza b / w pulsanti Magento html e? e come l'azione eseguire?

il mio codice è:

<form method="post" action="<?php echo Mage::getUrl('practice/index/new') ?>">
    <div class="mycustomstyle">
        <table>
            <tr>
                <td>
                    <label for="nom">First Name</label>
                </td>
                <td>
                    <input type="text" id="nom" name="nom" />
                </td>
            </tr>
            <tr>
                <td>
                    <label for="prenom">Last Name</label>
                </td>
                <td>
                    <input type="text" id="prenom" name="prenom" />
                </td>
            </tr>
            <tr>
                <td>
                    <label for="nom">Telephone Number</label>
                </td>
                <td>
                    <input type="text" id="telephone" name="telephone" />
                </td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: right;">
                    <input type="submit" value="Save" />
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <div class="mycustomstyle">
                        <p><button type="button" title="<?php echo $this->__('Create a New Record') ?>" class="button btn-cart" onclick="<?php echo Mage::getUrl('practice/index/new');  ?>"><span><span><?php echo $this->__('Create a New Record') ?></span></span></button></p>
                    </div>
                </td>
            </tr>
        </table>
    </div>
</form>

vedi immagine:

entrare descrizione dell'immagine qui

grazie in anticipo.

È stato utile?

Soluzione

A partire di con i pulsanti. Non v'è alcuna differenza tecnica tra i pulsanti. E 'solo una questione di stile. Se si utilizza il pulsante Magento (ed è meglio per farlo) si otterrà un pulsante ben stile. Oltre a ciò, entrambi i pulsanti fanno lo stesso. Il inviare il modulo al quale sono assegnati.

Come sempre, assicurarsi che la type del pulsante è submit e non button.

In secondo luogo, il reindirizzamento. Il redirect dovrebbe essere fatto nel controller e non in un evento onclick del pulsante. Il flusso è più o meno qualcosa di simile.

user fills out form and clicks button> controller handles the post data and saves it> controller redirects to desired end page

Il controller sarebbe simile a questo

class [Namespace]_[Module]_IndexController
{
   public function indexAction()
   {
      [...]
      // page that displays your form
      [...]
   }

   public function postoneAction()
   {
      [...]
      // code that handles the post data
      [...]

      // redirect back to the index page, or any other page of your controller
      $this->_redirect('*/*/index');
   }

   public function posttwoAction()
   {
      [...]
      // code that handles the post data differently
      [...]

      // redirect back to the index page, or any other page of your controller
      $this->_redirect('*/*/index');
   }
}

[EDIT] di avere 2 diversi tipi di 'submit', dare un'occhiata a questo post su StackOverflow sul scambiare il action della forma a seconda del pulsante.

In sostanza si rimuove il action dalla forma, aggiungere un nome alla forma (myform per example) and add it to theonclick` dei pulsanti. Qualcosa di simile a questo.

<button onclick="document.myform.action='practice/index/postone';document.myform.submit();"> .... </button>

<button onclick="document.myform.action='practice/index/posttwo';document.myform.submit();"> .... </button>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top