Jump to content

Edit History

Bllidz

Bllidz

Bonjour, 

 

Je suis actuellement entrain de développer mon 1er module (version 1.7.6.9). J'ai regardé la doc , et quelques tuto 

https://newslang.ch/blog/guide-complet-creer-module-prestashop-1-7/

https://pierrebelin.fr/blog/guide-complet-creer-module-prestashop/

 Mon module a /aura pour but d'envoyer par mail un document pré-défini à l'email défini. Je m'explique, ce module créer une nouvelle table dans la bdd, qui stockera l'email et le nom , exemple je souhaite envoyer la facture a la comptable de mon client, il faudra d'abord que j'aille enregistré l'email de la comptable lié à ce client et ensuite aller dans les détails de la commande et sélectionner l'email et cliquer sur envoyer. 

 Donc pour ce faire  j'ai greffé mon module à plusieurs hook , qui sont : 

 

'displayAdminOrder' et 'displayAdminCustomers'.

Dans le displayAdminCustomers, c'est ici que je souhaite entrer les emails des clients autre que leur email de compte (ex: comptable, ect...) 

et dans le displayAdminOrder c'est ici que je sélectionnerai l'email que je souhaite et cliquer sur envoyer qui enverra selon l'email soit l'ar soit la facture ect.. 

Pour l'instant je bloque,

J'ai dans  dans mon hook AdminCustomers l'appel d'un tpl

public function hookDisplayAdminCustomers($params)   
    {
      return $this->display(__FILE__, 'customer.tpl');   //affiche mon tpl
    }

 Dans ce tpl il y'a 

ce qui me permet d'afficher le block pour pouvoir enregistrer l'email de la comptable

<div style =" margin-left:15px;box-shadow: 2px 2px 8px 0 rgba(0,0,0,.2);
    background: #fff;
    padding: 1.563rem 1.25rem;
    margin-bottom: 1.563rem;">
<br>

<h4>email de la comptable: </h4>
<td><input type="text" name="emailComptable" class="emailComptable" id="emailComptable" value="[email protected]" style="display : inline-block; width:80%;" /> <br/> <br/>
<button type="button" class="btn btn-default submitadd_compta"  style="display : inline-block; width:80%; margin-left: 2%;" > 
<i class="icon-ok"></i>
{l s='Enregister' d='Admin.Actions'}

</button> 
</td>
<div>

Et du coup l'affichage donne 

image.png.0eabbdf4a83c411d25ff2d9d1c631f65.png

L'affichage bon je changerai tout ça plus tard.

Donc la actuellement je souhaiterai que quand je clique enregistrer l'email écrite aille dans ma BDD.

donc pour ce faire

J'ai crée un fichier Comptable.js qui se trouve dans modules/jv_mails/views/js

/*Modif Jérémy*/ 
$('button.submitadd_compta').unbind('click').click(function(e) { 

    e.preventDefault(); 

    var emailComptable =$('#emailComptable').val();
    
    
    query = 'ajax=1&token='+token+'&action=add_compta&id_customer='+id_customer+'&emailComptable='+emailComptable+'&'; //envoi de l'id_customer par tokeb

    $.ajax({ 
        type:'POST', //Methode 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; 
}); 

//}
 /*Modif Jérémy*/ 

et un fichier AdminComptable.php dans modules/jv_mails/controllers/admin 

qui lui comporte

    public function ajaxProcessadd_compta()
	{
		$id_customer = Tools::getValue('id_customer');

		$mail_compta =Tools::getValue('mail_compta');
        return $sql= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'jv_mail` (id_customer,mail_compta) VALUES
        ('.$id_customer.''.$mail_compta.')' ; //Requete sql afin d'insert
        
		
		var_dump($id_customer);
		var_dump($mail_compta);

		die();

	}

Cependant je ne vois pas comment faire le lien entre mon tpl et mon js et controller . afin que quand j'appuis sur mon Bouton ça exécute cette fonction et envoie les infos avec le js.   

Merci de toute aide pour ce module (et à la fin je le mettrai a disposition de tous pour ce qui ça intéresse :) )  

Ma version 1.7.6.9

Bllidz

Bllidz

Bonjour, 

 

Je suis actuellement entrain de développer mon 1er module (version 1.7.6.9). J'ai regardé la doc , et quelques tuto 

https://newslang.ch/blog/guide-complet-creer-module-prestashop-1-7/

https://pierrebelin.fr/blog/guide-complet-creer-module-prestashop/

 Mon module a /aura pour but d'envoyer par mail un document pré-défini à l'email défini. Je m'explique, ce module créer une nouvelle table dans la bdd, qui stockera l'email et le nom , exemple je souhaite envoyer la facture a la comptable de mon client, il faudra d'abord que j'aille enregistré l'email de la comptable lié à ce client et ensuite aller dans les détails de la commande et sélectionner l'email et cliquer sur envoyer. 

 Donc pour ce faire  j'ai greffé mon module à plusieurs hook , qui sont : 

 

'displayAdminOrder' et 'displayAdminCustomers'.

Dans le displayAdminCustomers, c'est ici que je souhaite entrer les emails des clients autre que leur email de compte (ex: comptable, ect...) 

et dans le displayAdminOrder c'est ici que je sélectionnerai l'email que je souhaite et cliquer sur envoyer qui enverra selon l'email soit l'ar soit la facture ect.. 

Pour l'instant je bloque,

J'ai dans  dans mon hook AdminCustomers l'appel d'un tpl

public function hookDisplayAdminCustomers($params)   
    {
      return $this->display(__FILE__, 'customer.tpl');   //affiche mon tpl
    }

 Dans ce tpl il y'a 

ce qui me permet d'afficher le block pour pouvoir enregistrer l'email de la comptable

<div style =" margin-left:15px;box-shadow: 2px 2px 8px 0 rgba(0,0,0,.2);
    background: #fff;
    padding: 1.563rem 1.25rem;
    margin-bottom: 1.563rem;">
<br>

<h4>email de la comptable: </h4>
<td><input type="text" name="emailComptable" class="emailComptable" id="emailComptable" value="[email protected]" style="display : inline-block; width:80%;" /> <br/> <br/>
<button type="button" class="btn btn-default submitadd_compta"  style="display : inline-block; width:80%; margin-left: 2%;" > 
<i class="icon-ok"></i>
{l s='Enregister' d='Admin.Actions'}

</button> 
</td>
<div>

Et du coup l'affichage donne 

image.png.0eabbdf4a83c411d25ff2d9d1c631f65.png

L'affichage bon je changerai tout ça plus tard.

Donc la actuellement je souhaiterai que quand je clique enregistrer l'email écrite aille dans ma BDD.

donc pour ce faire

J'ai crée un fichier Comptable.js qui se trouve dans modules/jv_mails/views/js

/*Modif Jérémy*/ 
$('button.submitadd_compta').unbind('click').click(function(e) { 

    e.preventDefault(); 

    var emailComptable =$('#emailComptable').val();
    
    
    query = 'ajax=1&token='+token+'&action=add_compta&id_customer='+id_customer+'&emailComptable='+emailComptable+'&'; //envoi de l'id_customer par tokeb

    $.ajax({ 
        type:'POST', //Methode 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; 
}); 

//}
 /*Modif Jérémy*/ 

et un fichier AdminComptable.php dans modules/jv_mails/controllers/admin 

qui lui comporte

    public function ajaxProcessadd_compta()
	{
		$id_customer = Tools::getValue('id_customer');

		$mail_compta =Tools::getValue('mail_compta');
        return $sql= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'jv_mail` (id_customer,mail_compta) VALUES
        ('.$id_customer.''.$mail_compta.')' ; //Requete sql afin d'insert
        
		
		var_dump($id_customer);
		var_dump($mail_compta);

		die();

	}

Cependant je ne vois pas comment faire le lien entre mon tpl et mon js et controller . afin que quand j'appuis sur mon Bouton ça exécute cette fonction et envoie les infos avec le js.   

Merci de toute aide pour ce module (et à la fin je le mettrai a disposition de tous pour ce que ça intéresse :) )  

Ma version 1.7.6.9

Bllidz

Bllidz

Bonjour, 

 

Je suis actuellement entrain de développer mon 1er module (version 1.7.6.9). J'ai regardé la doc , et quelques tuto 

https://newslang.ch/blog/guide-complet-creer-module-prestashop-1-7/

https://pierrebelin.fr/blog/guide-complet-creer-module-prestashop/

 Mon module a /aura pour but d'envoyer par mail un document pré-défini à l'email défini. Je m'explique, ce module créer une nouvelle table dans la bdd, qui stockera l'email et le nom , exemple je souhaite envoyer la facture a la comptable de mon client, il faudra d'abord que j'aille enregistré l'email de la comptable lié à ce client et ensuite aller dans les détails de la commande et sélectionner l'email et cliquer sur envoyer. 

 Donc pour ce faire  j'ai greffé mon module à plusieurs hook , qui sont : 

 

'displayAdminOrder' et 'displayAdminCustomers'.

Dans le displayAdminCustomers, c'est ici que je souhaite entrer les emails des clients autre que leur email de compte (ex: comptable, ect...) 

et dans le displayAdminOrder c'est ici que je sélectionnerai l'email que je souhaite et cliquer sur envoyer qui enverra selon l'email soit l'ar soit la facture ect.. 

Pour l'instant je bloque,

J'ai dans  dans mon hook AdminCustomers l'appel d'un tpl

public function hookDisplayAdminCustomers($params)   
    {
      return $this->display(__FILE__, 'customer.tpl');   //affiche mon tpl
    }

 Dans ce tpl il y'a 

ce qui me permet d'afficher le block pour pouvoir enregistrer l'email de la comptable

<div style =" margin-left:15px;box-shadow: 2px 2px 8px 0 rgba(0,0,0,.2);
    background: #fff;
    padding: 1.563rem 1.25rem;
    margin-bottom: 1.563rem;">
<br>

<h4>email de la comptable: </h4>
<td><input type="text" name="emailComptable" class="emailComptable" id="emailComptable" value="[email protected]" style="display : inline-block; width:80%;" /> <br/> <br/>
<button type="button" class="btn btn-default submitadd_compta"  style="display : inline-block; width:80%; margin-left: 2%;" > 
<i class="icon-ok"></i>
{l s='Enregister' d='Admin.Actions'}

</button> 
</td>
<div>

Et du coup l'affichage donne 

image.png.0eabbdf4a83c411d25ff2d9d1c631f65.png

L'affichage bon je changerai tout ça plus tard.

Donc la actuellement je souhaiterai que quand je clique enregistrer l'email écrite aille dans ma BDD.

donc pour ce faire

J'ai crée un fichier Comptable.js qui se trouve dans modules/jv_mails/views/js

/*Modif Jérémy*/ 
$('button.submitadd_compta').unbind('click').click(function(e) { 

    e.preventDefault(); 

    var emailComptable =$('#emailComptable').val();
    
    
    query = 'ajax=1&token='+token+'&action=add_compta&id_customer='+id_customer+'&emailComptable='+emailComptable+'&'; //envoi de l'id_customer par tokeb

    $.ajax({ 
        type:'POST', //Methode 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; 
}); 

//}
 /*Modif Jérémy*/ 

et un fichier AdminComptable.php dans modules/jv_mails/controllers/admin 

qui lui comporte


    public function ajaxProcessadd_compta()
	{
		$id_customer = Tools::getValue('id_customer');

		$mail_compta =Tools::getValue('mail_compta');
        return $sql= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'jv_mail` (id_customer,mail_compta) VALUES
        ('.$id_customer.''.$mail_compta.')' ; //Requete sql afin d'insert
        
		//echo "date liv save !";
		var_dump($id_customer);
		var_dump($mail_compta);

		die();

	}

Cependant je ne vois pas comment faire le lien entre mon tpl et mon js et controller . afin que quand j'appuis sur mon Bouton ça exécute cette fonction et envoie les infos avec le js.   

Merci de toute aide pour ce module (et à la fin je le mettrai a disposition de tous pour ce que ça intéresse :) )  

Ma version 1.7.6.9

Bllidz

Bllidz

Bonjour, 

 

Je suis actuellement entrain de développer mon 1er module (version 1.7.6.9). J'ai regardé la doc , et quelques tuto 

https://newslang.ch/blog/guide-complet-creer-module-prestashop-1-7/

https://pierrebelin.fr/blog/guide-complet-creer-module-prestashop/

 Mon module a /aura pour but d'envoyer par mail un document pré-défini à l'email défini. Je m'explique, ce module créer une nouvelle table dans la bdd, qui stockera l'email et le nom , exemple je souhaite envoyer la facture a la comptable de mon client, il faudra d'abord que j'aille enregistré l'email de la comptable lié à ce client et ensuite aller dans les détails de la commande et sélectionner l'email et cliquer sur envoyer. 

 Donc pour ce faire  j'ai greffé mon module à plusieurs hook , qui sont : 

 

'displayAdminOrder' et 'displayAdminCustomers'.

Dans le displayAdminCustomers, c'est ici que je souhaite entrer les emails des clients autre que leur email de compte (ex: comptable, ect...) 

et dans le displayAdminOrder c'est ici que je sélectionnerai l'email que je souhaite et cliquer sur envoyer qui enverra selon l'email soit l'ar soit la facture ect.. 

Pour l'instant je bloque,

J'ai dans  dans mon hook AdminCustomers l'appel d'un tpl

public function hookDisplayAdminCustomers($params)   
    {
      return $this->display(__FILE__, 'customer.tpl');   //affiche mon tpl
    }

 Dans ce tpl il y'a 

ce qui me permet d'afficher le block pour pouvoir enregistrer l'email de la comptable

<div style =" margin-left:15px;box-shadow: 2px 2px 8px 0 rgba(0,0,0,.2);
    background: #fff;
    padding: 1.563rem 1.25rem;
    margin-bottom: 1.563rem;">
<br>

<h4>email de la comptable: </h4>
<td><input type="text" name="emailComptable" class="emailComptable" id="emailComptable" value="[email protected]" style="display : inline-block; width:80%;" /> <br/> <br/>
<button type="button" class="btn btn-default submitadd_compta"  style="display : inline-block; width:80%; margin-left: 2%;" > 
<i class="icon-ok"></i>
{l s='Enregister' d='Admin.Actions'}

</button> 
</td>
<div>

Et du coup l'affichage donne 

image.png.0eabbdf4a83c411d25ff2d9d1c631f65.png

L'affichage bon je changerai tout ça plus tard.

Donc la actuellement je souhaiterai que quand je clique enregistrer l'email écrite aille dans ma BDD.

donc pour ce faire

J'ai crée un fichier Comptable.js qui se trouve dans modules/jv_mails/views/js

/*Modif Jérémy*/ 
$('button.submitadd_compta').unbind('click').click(function(e) { 

    e.preventDefault(); 

    var emailComptable =$('#emailComptable').val();
    //var DateLiv = $(this).closest('tr.product-line-row').find('td.dateLiv').val(); 
    
    query = 'ajax=1&token='+token+'&action=add_compta&id_customer='+id_customer+'&emailComptable='+emailComptable+'&'; //envoi de l'id_customer par tokeb

    $.ajax({ 
        type:'POST', //Methode 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; 
}); 

//}
 /*Modif Jérémy*/ 

et un fichier AdminComptable.php dans modules/jv_mails/controllers/admin 

qui lui comporte


    public function ajaxProcessadd_compta()
	{
		$id_customer = Tools::getValue('id_customer');

		$mail_compta =Tools::getValue('mail_compta');
        return $sql= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'jv_mail` (id_customer,mail_compta) VALUES
        ('.$id_customer.''.$mail_compta.')' ; //Requete sql afin d'insert
        
		//echo "date liv save !";
		var_dump($id_customer);
		var_dump($mail_compta);

		die();

	}

Cependant je ne vois pas comment faire le lien entre mon tpl et mon js et controller . afin que quand j'appuis sur mon Bouton ça exécute cette fonction et envoie les infos avec le js.   

Merci de toute aide pour ce module (et à la fin je le mettrai a disposition de tous pour ce que ça intéresse :) )  

Ma version 1.7.6.9

×
×
  • Create New...