Come salvare radio button selezionato

  • Creatore Discussione Creatore Discussione Benix89
  • Data di inizio Data di inizio

Benix89

Nuovo Utente
26 Gen 2016
28
0
1
35
Salve :rolleyes:,
sto creando un nuovo metodo di pagamento su Magento. 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.

Codice:
<?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.

Codice:
<?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 :love:
 
Ultima modifica:
Per chi ha il mio stesso problema, ho risolto così:

Codice:
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!');
                    header('refresh:3;url=index.php');
              }
     }     
   }
}
 

Discussioni simili