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
Solved! Go to Solution.
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!'); } } } }
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!'); } } } }