come reindirizzare una pagina utilizzando il pulsante Magento?
-
16-10-2019 - |
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:
grazie in anticipo.
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 the
onclick` 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>