Jump to content

Bllidz

Members
  • Posts

    197
  • Joined

  • Last visited

Posts posted by Bllidz

  1. 11 minutes ago, isteph26 said:

    Autant pour moi , je trouve bien le fichier src/PrestaShopBundle/Controller/Admin/Sell/Order/orderController.php

    mais à la lecture du code j'ai trouvé plus simple .. activer le code B2B :)

     

     

    Je viens de vérifier, effectivement le mode B2B permet de rajouter le field société 

      if ($isB2bEnabled) {
                    $item['company'] = $record['company'];
                }

    Mais cependant pour des fields custom vous pouvez override ou bien créer un module. 

    En tout cas si votre but était d'afficher la société c'est parfait ! :) 

  2. 15 minutes ago, Bllidz said:

    C'est dans le dossier SRC et non controller le chemin exact est src/PrestaShopBundle/Controller/Admin/Sell/Order/orderController.php

    Pour votre requête il me semble que c'est possible avec un module, si je dis pas de bétise il existe un hook pour ça (ce qui serait la manière propre) 

    J'ai été regardé du coup le hook displayAdminOrderTabContent pourrait t'aider a faire ce que tu souhaites si tu veux passer par un module 

    CDT 

    Jérémy 

  3. 28 minutes ago, ObjetsBois said:

    Salut,

    Ha !! Ça m'intéresse ! Je me demandais s'il n'y avait pas un moyen de faire des modifications qui soient gardées à la prochaine mise à jour.

    Tu ne saurais pas où je pourrais trouver un tuto (ou la façon de faire) ?

    Salut , 

    Même si la question n'est pas destiné. Je vais y répondre. Tu peux trouver des exemples un peu partout sur le forum ou sur le net. Mais sinon tu as un dossier override dans ton FTP. Donc tu vas dedans et tu suis la meme hiérarchie de dossier/fichier.

    Je vais te donner un exemple pour que je sois un peu plus compréhensible  si tu veux override le controller order 

    Tu vas dans ton FTP et tu suis ce chemin /override/controllers/admin.

    tu créer un fichier AdminOrdersController.php

    Et dedans tu déclares la classe qu'il te faut qui étends sur le controller de base pour cette exemple sinon sur la classe que tu override

    <?php
    /**
     * 2007-2019 PrestaShop and Contributors
     *
     * NOTICE OF LICENSE
     *
     * This source file is subject to the Open Software License (OSL 3.0)
     * that is bundled with this package in the file LICENSE.txt.
     * It is also available through the world-wide-web at this URL:
     * https://opensource.org/licenses/OSL-3.0
     * If you did not receive a copy of the license and are unable to
     * obtain it through the world-wide-web, please send an email
     * to [email protected] so we can send you a copy immediately.
     *
     * DISCLAIMER
     *
     * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
     * versions in the future. If you wish to customize PrestaShop for your
     * needs please refer to https://www.prestashop.com for more information.
     *
     * @author    PrestaShop SA <[email protected]>
     * @copyright 2007-2019 PrestaShop SA and Contributors
     * @license   https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
     * International Registered Trademark & Property of PrestaShop SA
     */
    use PrestaShop\PrestaShop\Adapter\StockManager;
    use PrestaShop\PrestaShop\Adapter\SymfonyContainer;
    
    /**
     * @property Order $object
     */
    class AdminOrdersController extends AdminOrdersControllerCore
    {
    	//ici tu mets les fonctions que tu veux rajouter ou overrider 
    }

    Voilà j'éspère avoir été clair et si tu as pas compris ou que tu as des questions n'hésite pas ;) 

    Cordialement 

    Jérémy 

  4. 53 minutes ago, isteph26 said:

    bonjour, j'ai été dans le repertoire Controller/admin mais je ne pas de repertoire Sell .. 

    Et je ne trouve tjrs pas de solution pour afficher la societé dans la vue Commande du BO :( 

    C'est dans le dossier SRC et non controller le chemin exact est src/PrestaShopBundle/Controller/Admin/Sell/Order/orderController.php

    Pour votre requête il me semble que c'est possible avec un module, si je dis pas de bétise il existe un hook pour ça (ce qui serait la manière propre) 

  5. Bonjour, 

     

    Je rencontre un petit souci, j'ai un module qui fonctionne très bien en version inférieur à la 1.7.7.X, cependant je dois le rendre utilisable pour une version 1.7.7.7.  

    Donc j'y ai effectuer quelques modifications, je n'ai pas d'erreur cependant quand je clique sur mon bouton qui lance l'ajax, j'ai une réponse qui est celle ci.

    image.png.d6c7232483dfcdd0271663ac53a933ad.png 

    et en preview j'ai ceci

    image.png.21584e71b01533e07d9414d4c9c8ddd5.png

     

     

    Je ne vois pas comment résoudre mon problème , est ce un problème de url dans l'ajax ? Mon fichier ajax_jv_verif_price.php ce trouve à la racine du dossier. 

    Mon Ajax :

    
            $.ajax({ 
    
                type:'POST', //Methode POST
    
                url: "../modules/jv_verif_price/ajax_jv_verif_price.php", 
    
                cache: false, 
    
                dataType: 'json', 
    
                data :  {
                    ajax:true,
                    id_order: id,
                    action : "calculPrice",
                    token : token,
                    },
    
                success: function(data) 
                { 
                    if (data.result) 
                    { 
                        console.log('ok'); 
                    } 
                    else     
                        jAlert(data.error); 
                } 
    
            }); 

    Début de mon fichier ajax_jv_verif_price.php

     

    include_once('../../config/config.inc.php');
    
    include_once('../../init.php');
    
    include_once('jv_verif_price.php');
    
    
    
    $jvP = new Jv_Verif_Price();
    
    
    
      if (Tools::getValue('action') == 'calculPrice')
    
      {
    
        // TRAITEMENT
        var_dump("on est dans le fichier");
        $id_order = Tools::getValue('id_order');
        echo ($id_order);
    
        $prix_tot_commande = 0 ; 
    
        $order_details=Db::getInstance()->ExecuteS('SELECT id_order_detail FROM`' . _DB_PREFIX_ .'order_detail` where id_order = '. (int)$id_order);
    
        foreach( $order_details as $order_detail ){
    
          $order_d = new OrderDetail((int)$order_detail['id_order_detail']); 

    Sauf que justement en réponse j'aurais du avoir mon var_dump mais non. 

    Si quelqu'un à une idée ou une piste je suis preneur. Et si il y'a besoin de plus d'information ou plus de code du module n'hésité pas ! :) 

     

     

    Version.prestashop: 1.7.7.7

    Merci d'avance 

    Cordialement

    Jérémy

  6. 3 minutes ago, Alexandre Carette said:

    ca avance, es tu obligé de faire de l ajax ?

    as tu essayé la fonction jsondecode

    Hmmm l'ajax me permettait de récupérer l'id de la commande ainsi que l'id du customer avec que je puisse ensuite faire mes requête afin d'avoir mes données.

    Mais si j'ai l'id de la commande, je peux retrouver l'id client donc en soit, je ne pense pas être obligé de faire de l'ajax. Mais je ne vois pas comment partir autrement.

    Et oui j'ai testé json_decode mais ça n'a rien changé 

  7. @Alexandre Carette

    Update: 

    Du coup j'ai regardé ton code du module que tu as partagé.

    Fin plus précisément ton controller la ou se fait ta génération. Mais du coup je m'y prends mal ? Car moi techniquement j'essai d'appelé la génération via une fonction qui se trouve directement dans le module est non pas dans un controller.  De plus quand j'appui sur mon bouton j'ai pas d'erreur mais dans la réponse j'ai du texte un peu bizarre. 

     Je sais pas si tu vois ou je veux en venir ? 

    Si t'as besoin je peux mettre mon module en pièce jointe si tu peux y jeter un coup d'oeil ce serait volontiers ? 

     

    Merci de ta réponse 

    CDT 

  8. On 8/13/2021 at 2:41 PM, isteph26 said:

    Bonjour, 

    Question toute bête, comment ajoute t'on la colonne societé dans la vue commandes du BO sur un prestashop 1.7.7.6

    Il faudrait overrider des fichiers .php mais je ne les trouve pas, AdminOrdersController.php notamment. 

    quelqu'un a déjà fait ca et pourrait me donner la marche à suivre ? 

    merci 

    Il me semble que en 1.7.7.X c'est passé sous symfony la partie commande. Mais si tu cherches le controller de order c'est dans 

    src/PrestaShopBundle/Controller/Admin/Sell/Order/orderController.php. Cependant pas sur que ce soit comme sur les version antérieur l'ajout d'un champ 

    Jérémy

  9. 1 hour ago, PrestashopUser03 said:

    Bonjour à tous,


    J'ai tenté de modifier le fichier theme/default/template/controllers/orders/helpers/view/view.tpl pour que certains états de commande n'apparaissent pas mais les modifications ne s'affichent pas (j'ai même changé le nom du fichier sans conséquence sur l'affichage).

    Sauriez-vous quels fichiers modifier pour supprimer l'affichage de certains états de commande ?

    Bonjour, 

    Il me semble pas que ce soit possible de supprimer des états que tu n'as pas créer hors BDD. Mais si c'est des états que tu as toi même créer tu peux les supprimer dans 

    Paramètre boutique ->Commandes->États de commandes.

    Sinon directement dans la base de données pour les supprimer mais pas quelques chose que je te conseil.

    Sinon quand tu cliques sur modifier tu as "Cacher cet état dans la commande pour les clients." peut-être c'est ce que tu recherches

    CDT 

    Jérémy

  10. On 7/28/2021 at 2:01 PM, Polylight said:

    Bonjour, ma partie emails dans prestashop ne me permet pas de y joindre des pieces joint etc...

    J'aimerai savoir si on peu programmer nous mails le back office pour y ajouter ce que l'on souhaite ou si un plugin spécial permet de géré cela.

    Merci d'avance pour vos réponse ;)

    Bonjour, 

    Il est possible de créer un module qui envoie des mails avec pièce jointe. Mais il faut écrire un module 

    Mais si vous êtes un peu patient je suis entrain d'écrire un module qui envoie des mails. Je finis deux autres modules afin de m'y concentrer après dessus pleinement.  

     

     

    CDT 

    Jérémy

    • Like 1
  11. Oui c'est possible de modifier le back, fin d'y modier des éléments ou d'en y ajouter.

    Tout dépend de ce que tu veux modifier et aussi ta version prestashop.

    Mais sinon tu peux y créer un module pour soit ajouter un block là ou tu veux expemple image.thumb.png.73af50ce948e6d962fdee844015b8c4c.png

     

    soit créer un onglet 

    image.png.26dbe1e7877f2b0f3cdf211f4744f12c.png

    Tout dépend de ce que vous voulez faire et ou exactement. 

     

    CDT 

    Jérémy

    • Like 1
  12. Bonjour je suis entrain de créer un module qui doit imprimer un pdf qui affichera un tableau des numéros de facture impayé de chaque client. 

    Je me suis aider de https://belvg.com/blog/pdf-in-prestashop.html pour mon module. 

    Le soucis que j'ai actuellement c'est que quand j'appuie sur le bouton ça ne génère aucun document rien du tout et dans la console aucune erreur. 

    la fonction pour générer le pdf : dans modules/jv_pdf.php 

        public function lafonctionpdf($id_c){    
            $order = new Order((int)$id_c);
            $custom_object = $order -> getInvoicesCollection();
            require_once _PS_MODULE_DIR_ . 'jv_pdf/classes/HTMLTemplateCustomPdf.php';
    
            $pdf = new PDF($custom_object, 'CustomPdf', Context::getContext()->smarty);
            $pdf->render();
        }

    le fichier HTMLTemplateCustomPdf.php 

     
    class HTMLTemplateCustomPdf extends HTMLTemplate
    {
     public $custom_model;
     
     public function __construct($custom_object, $smarty)
     {
     $this->custom_model = $custom_object;
     $this->smarty = $smarty;
     
     // header informations
     $id_lang = Context::getContext()->language->id;
     $this->title = HTMLTemplateCustomPdf::l('Custom Title');
     // footer informations
     $this->shop = new Shop(Context::getContext()->shop->id);
     }
     
     /**
     * Returns the template's HTML content
     * @return string HTML content
     */
     public function getContent()
     {
     $this->smarty->assign(array(
     'custom_model' => $this->custom_model,
     ));
     
     return $this->smarty->fetch(_PS_MODULE_DIR_ . 'jv_pdf/pdf/custom_template_content.tpl');
     }
     
    
    
     /**
     * Returns the template filename
     * @return string filename
     */
     public function getFilename()
     {
     return 'custom_pdf.pdf';
     }
     
     /**
     * Returns the template filename when using bulk rendering
     * @return string filename
     */
     public function getBulkFilename()
     {
     return 'custom_pdf.pdf';
     }
    }

    Mon tpl  ou il y'a le bouton:

      <h4>PDF: </h4>
        <button type="button" class="submitPdf"  style="display : inline-block; width:80%; margin-left: 2%;" > 
        <i class="icon-ok"></i>
        {l s='Télécharger' d='Module.Jv_Pdf.Admin'}
        </button> 
     

    le fichier ajax_jv_pdf.php

    $j = new Jv_PDF();
    if (Tools::getValue('action') == 'sendPdf')
    {
     
        $id_order = Tools::getValue('id_order');
        echo $j->lafonctionpdf($id_order); 
    }

    et le fichier js

    $(document).ready(function() {
        /*Modif Jérémy*/ 
    $('button.submitPdf').unbind('click').click(function(e) { 
        e.preventDefault(); 
          query = 'ajax=1&token='+token+'&action=sendPdf&id_order='+id_order+'&';
          $.ajax({ 
              type:'POST', //Methode POST
              url: "../modules/jv_pdf/ajax_jv_pdf.php", 
              cache: false, 
              dataType: 'json', 
              data : query, 
              success: function(data) 
              { 
                  if (data.result) 
                  { 
                      console.log('ok'); 
                  } 
                  else     
                      jAlert(data.error); 
              } 
          }); 
          return false; 
      }); 
    
    });

    Est ce que quelqu'un aurait une idée de comment je pourrais générer mon pdf ? Il est possible que j'oublie quelques chose ou que je me sois trompé :) 

    Ma version prestashop 1.7.6.9

    Merci de tout aide 

  13. 4 minutes ago, lechantdessciesreine said:

    Je suis pas très doué..ou et ce que je trouve le navigateur svp..?merci

    euh le navigateur ?  vous vouliez dire hébergeur ? 

    Là je vais pas pouvoir vous aidez, normalement l'hébergeur c'est chez qui vous payer un abonnement afin d'héberger votre site internet.

    Si vous parlez de navigateur bah c'est firefox, chrome, opera ect.. mais là peut importe le navigateur.. 

     

    • Like 1
  14. On 6/3/2021 at 6:18 AM, lechantdessciesreine said:

    Bonjour, je tiens à commencer ce sujet en expliquant que je ne suis pas très forte en informatique.

    Quelqu'un peut me dire comment ca se fait que mes clients ne reçoivent pas d'email de confirmation de commandes, ni d'avancement de leur commande svp?

    ca fonctionnais il y a quelques mois et plus rien maintenant..

    j'utilise la version 1.7.7.4

    et mon email  et hotmail.com

    merci à vous de bien vouloir me dépanner..

     

    Bonjour, 

    Quel est votre hebergeur ? 

    Si c'est ovh avez vous purgé les mails ? 

     

    CDT

    Jérémy

  15. 13 minutes ago, Eolia said:

    Vous avez quelque chose qui est hooké sur actionEmailSendBefore et qui ne renvoie pas un tableau...

     

            $hookBeforeEmailResult = Hook::exec(
                'actionEmailSendBefore',
                [
                    'idLang' => &$idLang,
                    'template' => &$template,
                    'subject' => &$subject,
                    'templateVars' => &$templateVars,
                    'to' => &$to,
                    'toName' => &$toName,
                    'from' => &$from,
                    'fromName' => &$fromName,
                    'fileAttachment' => &$fileAttachment,
                    'mode_smtp' => &$mode_smtp,
                    'templatePath' => &$templatePath,
                    'die' => &$die,
                    'idShop' => &$idShop,
                    'bcc' => &$bcc,
                    'replyTo' => &$replyTo,
                ],
                null,
                true
            );
    
            if ($hookBeforeEmailResult === null) {
                $keepGoing = false;
            } else {
                $keepGoing = array_reduce(
                    $hookBeforeEmailResult,
                    function ($carry, $item) {
                        return ($item === false) ? false : $carry;
                    },
                    true
                );
            }

    $keepGoing = array_reduce(
                    $hookBeforeEmailResult,

    ...

    Merci de ta réponse @Eolia pourtant je ne fais pas appel au hook actionEmailSendBefore..

     

    image.png.78ed987bfb2507c63c6c8a79e37e7f2b.png

     

    Donc si je comprends bien je dois rajouter ce hook et ce code avant de faire appel a send_mail1 (ma fonction)? 

×
×
  • Create New...

Important Information

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