Jump to content

Bllidz

Members
  • Posts

    200
  • Joined

  • Last visited

Posts posted by Bllidz

  1. Bonjour, 

    Je souhaiterai créer un bouton et quand je clique sur le bouton ça me crée des dates sur tout les produit de la commande en J+2 

    image.thumb.png.df3de4fb1338fbaeb8e286d21029544b.png

     

    J'ai créé un bouton dans adminXXXX/themes/default/template/controllers/orders/helpers/view/view.tpl

    Le code du bouton 

    <button type="button" class="btn btn-default submitAjoutDateLiv" style="display : block;" >
    			            <i class="icon-ok"></i>
    		            	{l s='Création date' d='Admin.Actions'}
    	              	</button>

    Mon code Js et ajax qui envoie l'id de la commande dans order.js

    $('button.submitAjoutDateLiv').unbind('click').click(function(e) {
    		e.preventDefault();
    		
    		query = 'ajax=1&token='+token+'&action=addDateLivProd&id_order='+id_order+'&';
    		
    		$.ajax({
    			type:'POST',
    			url: admin_order_tab_link,
    			cache: false,
    			dataType: 'json',
    			data : query,
    			success: function(data)
    			{
    				if (data.result)
    				{
    					console.log('ok');
    				}
    				else	
    					jAlert(data.error);
    			}
    		});
    
    		return false;
    
    	});

    Mon code dans le AdminOrdercontroller

      public function ajaxProcessaddDateLivProd(){
           
            $id_order = Tools::getValue('id_order');
            $id_order_detail= Db::getInstance()->getvalue('Select id_order_detail FROM`' . _DB_PREFIX_ .'order_detail` where id_order = '. $id_order);
            $date_liv=date("d-m-Y", strtotime("+2 day"));   //Date du jour +2 
            var_dump($id_order_detail);
            die();
            
            
        }

     

    Donc l'idée est que je récupère l'id de la commande et que grâce à l'id_order je récupère tout les  id_order_detail et que ensuite avec un foreach je mets un insert pour chaque id_order_detail (je ne sais pas si c'est faisable réellement)   cependant actuellement je récupère bien l'id_order mais le var_dump me donne bool(true). Donc est-ce que quelqu'un aurait une idée pour que je puisse récupérer mes id_order_detail et que je puisse faire un insert pour chaque produit de la commande 

     

    Merci d'avance de votre aide 

    Ma version PS : 1.7.6.9

     

  2. Hop parfait, désolé encore.. je vais devoir apprendre à copier 😅

     image.png.498ab788d1804fe4d48236fafaa73235.png

     

    Du coup maintenant si j'ai bien compris, je peux faire appel dans cette même fonction  à ma fonction update_date_Liv_Prod() dans la classe product ? 

     

     

    dans ajaxProcessupdateDateLivProd() je récupère mes 2 variables, et je peux faire appel a ma fonction qui donnera ça du coup ? 

     static public function update_date_Liv_Prod($date_liv,$id_order_detail)
            {
              
                    return Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'order_date_liv` odl
                    SET odl.Date = '.$date_liv .'
                    WHERE `id_order_detail` = '.$id_order_detail ;
              
                }
  3. Problème résolu pour le input il s'affiche 

    image.thumb.png.077e0737d756fe9a02ecb9946b6ccc34.png

    Mais cependant quand je clique sur Modifier ou ModifDateLiv rien ne se passe..  

    Et ce qui est du code je n'ai rien changé mis a part ce que j'ai rajouté 

    Les boutons

    	{* Modif dateLiv *}
    		<button type="button" class="btn btn-default submitChangeDateLiv" style="display : block;">
    			<i class="icon-ok"></i>
    			{l s='ModifDateLiv' d='Admin.Actions'}
    		</button>
    		
    		{* Modif dateLiv *}
    		<button type="button" class="btn btn-default submitProductChange" style="display: none;">
    			<i class="icon-ok"></i>
    			{l s='Update' d='Admin.Actions'}	
    		</button>
    		<button type="button" class="btn btn-default cancel_product_change_link" style="display: none;">
    			<i class="icon-remove"></i>
    			{l s='Cancel' d='Admin.Actions'}
    		</button>

    Dans adminOrdersController.php

       public function ajaxProcessupdateDateLivProd(){
            $id_order_detail = Tools::getValue('id_order_detail'); 
            $date_liv =Tools::getValue('date_liv'); 
            $var_dump($date_liv) ; 
            die();
        }

    dans order.js 

    	$('button.submitChageDateLiv').unbind('click').click(function(e){
    		e.preventDefault();
    		
    		var DateLiv = $(this).closest('tr.product-line-row').find('td.dateLiv').val();
    		var id_order_detail = $(this).closest('tr.product-line-row').find('td.edit_product_id_order_detail').val();
    
    		query = 'ajax=1&token='+token+&'action=updateDateLivProd&id_order_detail='+id_order_detail+'&date_liv='+DateLiv+'&';
    
    
    		$.ajax({
    			type:'POST',
    			url: admin_order_tab_link,
    			cache:false,
    			dataType: 'json',
    			data : query,
    			success: function(data)
    			{
    				if (data.result)
    				{
    					console.log('ok');
    				}
    				else	
    					jAlert(data.error);
    			}
    		});
    
    	}

    Et pour le reste je n'ai rien changé 

  4. En gros j'ai crée une table ou dedans il y'a une clé etrangère de order_detail, et la date de livraison du produit. J'arrive à l'afficher 

    image.thumb.png.4fbb9d8ca2da35b55f7b3bbd56a1dd4a.png

    Je souhaiterai enfaite les incrémenté à la création de la commande + 2 jours et quand je clique sur modifier pour pouvoir modifier la date de livraison du produit je souhaiterai que elle se mette à jour.

    image.thumb.png.57c014b1345f2caabda4f1a8aff79ccd.png

    Je ne sais pas si c'est plus compréhensible comme ça ? 

     

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More