Jump to content

Formulaire sur la base d'un tableau associatif : récupération et utilisation des données saisies pour faire un devis en ligne


Recommended Posts

Faire un devis quand on vend des produits transformés, cela évite bons nombres de tâches fastidieuses et répétitives.

J'ai posté un message qui ne semble pas accrocher la curiosité des développeurs, pourtant je reste persuadé que cela pourrait intéresser plus d'un utilisateur de Prestashop.

Comme je débute, je me suis résigné a utiliser un tableau associatif pour créer un formulaire de saisie.

Mais me voilà à nouveau bloqué. :-S
Le formulaire est créé, mais je n'arrive pas à récupérer les données pour les exploiter dans des calculs comme dans le fichier php joint.

A force de compulser les docs smarty et php, je suis perdu dans les syntaxes !
Voilà ce qui existe pour l'instant, les tests de champs vides ne fonctionnent pas, à voir plus tard.

Fichier PHP:

<?php

$useSSL = true;

include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/header.php');
$errors = array();

   //-- variables fixes du tableau --
   $smarty->assign('art_ids', array(1,2,3,4,5,6,7,8));
   $smarty->assign('art_names', array(
                                      'COUSSINETS BLANC TROIS FEUILLES',
                                      'COUSSINETS BLANC CINQ FEUILLES',
                                      'COUSSINETS BLANC SEPT FEUILLES',
                                      'COUSSINETS BRUN TROIS FEUILLES',
                                      'COUSSINETS BRUN CINQ FEUILLES',
                                      'COUSSINETS BRUN SEPT FEUILLES',
                                      'COUSSINETS PREMIERE FACE FILM DOREE OPP',
                                      'COUSSINETS PREMIERE FACE FILM BLANC OPP'
                                      ));
    $smarty->assign('article_id', 1);                                  

if (Tools::isSubmit('submitDevis'))
{                                  
   //-- width --  
      if (!($nbLarg = (Tools::getValue('nbLarg'))))  
       $errors[] = Tools::displayError('name cannot be blank');
   //-- length -- 
      elseif (!($nbLong = (Tools::getValue('nbLong'))))  
       $errors[] = Tools::displayError('Length cannot be blank');

      elseif (!($article_choix = (Tools::getValue('article_choix')))) 
          $errors[] = Tools::displayError('please select a product in the list');
   else
           $errors[] = Tools::displayError('an error occurred while sending ');

}


$smarty->display(_PS_THEME_DIR_.'calculCoussinets.tpl');
include(dirname(__FILE__).'/footer.php');

?>



et le TPL :

>{capture name=path}{l s='Section cut'}{/capture}
{include file=$tpl_dir./breadcrumb.tpl}
{l s='Quote cute'}

{if isset($confirmation)}

{l s='Your parameters has been successfully saved and sent to our team.'}
</pre>
<ul>
{l s='Home'}
</ul>
<br>{else}<br><p>{l s='Choose the item and write your cutting parameters. '}.</p>
<br>   {include file=$tpl_dir./errors.tpl}<br><br>   <form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std"><br><br><h3>{l s='Cutting parameters'}</h3>
<br>     <!-- ici la selection du tableau associatif --><br><p>
{l s='Article description'}

                     {html_options values=$art_ids  output=$art_names selected=$article_id}


</p>
<br>     <!-- Fin de la selection --><br>           <!-- widht --><br><p>
{l s='Width'}  
     <input type="text" id="nbLarg" name="nbLarg" value="{if isset($smarty.post.nbLarg)}{$smarty.post.nbLarg}{/if}">    
</p>
<br>         <!-- length --><br><p>
{l s='Length'}  
   <input type="text" id="nbLong" name="nbLong" value="{if isset($smarty.post.nbLong)}{$smarty.post.nbLong}{/if}">    
</p>  <br><br><p>
           <input type="submit" name="submitDevis" id="submitDevis" value="{l s='Send'}" class="button_large">
</p>
<br><br></form> <br><br



Quelle est la fonction à utiliser, la syntaxe, où faut -il la placer ???

Une explication par un exemple lié à ce code serait la bienvenue.

calculCoussinets2.php

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...