2010-04-07 8 views
1

J'ai besoin d'écrire un module qui envoie des données de commande à un service epayment, semblable à dire, paypal. Ils ont besoin que les données soient soumises à partir d'une forme avec des éléments qui ressemblent à ceci (notez le nom en double):Comment remplacer le formulaire review_cart dans ubercart

<input name="ORDER_PNAME[]" type="hidden" value="CD Player"> 
<input name="ORDER_PNAME[]" type="hidden" value="Geanta voiaj 2L"> 

Cela rend impossible de passer outre la forme simplement en modifiant la forme de $ dans module_form_alter() parce que " ORDER_PNAME [] "serait une clé dupliquée dans $ form. J'ai donc besoin de contourner l'ensemble du système de gestion de la forme drupal. J'ai regardé et trouvé que je pourrais écraser la variable $ form dans uc_cart_checkout_review avec des données de formulaire html (voir http://api.ubercart.org/api/function/uc_cart_checkout_review/2 ligne 4).

Quelle serait la bonne façon de procéder?

Répondre

0

sur les droits d'une solution de contournement:
vous pouvez ajouter les éléments de formulaire nécessaires à l'aide de l'élément de balisage:

$form['your_name'] = array(
    '#type' => 'markup', 
    '#value' => '<input name="ORDER_PNAME[]" type="hidden" value="CD Player"> 
       <input name="ORDER_PNAME[]" type="hidden" value="Geanta voiaj 2L">', 
); 


Si vous n'avez pas besoin de rediriger l'utilisateur vers la page de service de paiement électronique, Il suffit d'envoyer des données, vous pouvez utiliser curl pour publier les données nécessaires. Une question connexe: Auto Submitting a form (cURL).

+0

Merci, l'idée de balisage a bien fonctionné. –

Questions connexes