cancel
Showing results for 
Search instead for 
Did you mean: 

Salvare radio button selezionato

SOLVED

Salvare radio button selezionato

Salve,
sto creando un nuovo metodo di pagamento. Con questo nuovo metodo di pagamento, il cliente potrà acquista l'oggetto solo se risponde correttamente ad una domanda che gli viene posta. Come faccio a verificare che il cliente seleziona una risposta? Inoltre, come salvo la risposta del cliente per verificare successivamente se è quella corretta?

app / design / frontend / base / default / template / custompaymentmethod / form / custompaymentmethod.phtml: Si tratta di un file di modello utilizzato per visualizzare un modulo di pagamento su misura per il nostro metodo di pagamento personalizzato.

<?php
$question = Mage::getModel('emme_question/question')->getCollection()->getLastItem();
$answers = $question->getSelectedAnswersCollection();
?>
<div id="custompaymentmethod-question">
    <h4><?php echo $this->escapeHtml($question->getValue()); ?></h4>
    <ul>
    <?php foreach ($answers as $answer): ?>
    <li>
    <label><?php echo $this->escapeHtml($answer->getValue()) ?></label>
    <input type="radio" name="my_custom_answer" value="<?php echo $answer->getId() ?>" required>
    </li>
    <?php endforeach ?>
</div>
<script>
jQuery(function ($) {
  $('#co-payment-form').on('change.mm', function () {
    var is_question_active = ! $('#p_method_custompaymentmethod').is(':checked');
    $('#custompaymentmethod-question input').attr('disabled', is_question_active);
  })
})
</script>

app/code/local/Envato/Custompaymentmethod/Model/Paymentmethod.php: Si tratta di un file di modello utilizzato per convalidare e salvare il pagamento personalizzato campi di informazioni.

 

<?php
// app/code/local/Envato/Custompaymentmethod/Model/Paymentmethod.php
class Envato_Custompaymentmethod_Model_Paymentmethod extends Mage_Payment_Model_Method_Abstract {
  protected $_code  = 'custompaymentmethod';
  protected $_formBlockType = 'custompaymentmethod/form_custompaymentmethod';
  protected $_infoBlockType = 'custompaymentmethod/info_custompaymentmethod';

  public function getOrderPlaceRedirectUrl()
  {
    return Mage::getUrl('custompaymentmethod/payment/redirect', array('_secure' => false));
  }
}

Grazie 

1 REPLY

Re: Salvare radio button selezionato

Ho risolto

public function validate()
{
  foreach (Mage::getModel('emme_question/question')->load(1)->getSelectedAnswersCollection() as $answer) 
  {
	if ($answer->getIsCorrect()) 
	{
		if ($answer->getId() == $_POST['my_custom_answer']) 
		{
   			Mage::getSingleton('core/session')->addSuccess('Risposta esatta');
  		} else 
			{
    				Mage::throwException('Risposta sbagliata!');
  			}
	}	
   }
}