Jump to content

Probleme Module "ecgeneratebarcode"


ThomasHg
 Share

Recommended Posts

Bonjour,

Alors je vais essayer d'expliquer le problème le plus clairement possible.

Je suis alternant pour une boutique de vente en ligne qui utilise Prestashop pour gérer ses différents sites. Le prestashop est évidemment composé de plusieurs modules qui servent à faire tel ou tel chose.

Information de notre boutiques :

version de prestashop 1.7.1.2

Version de PHP : 7.0.33

Version de MySQL : 5.6.50-log

Seulement voila, depuis quelques jours, une information manque sur nos bordereaux de commande lorsqu'on les imprimes. Auparavant en entête de notre feuille il y avait un code barre avec une référence qui était présent. Ce code barre étant généré par le module "ecgeneratebarcode".

J'ai donc voulu chercher si ce module pose bien problème et après avoir téléchargé le site pour vérifié les .php du module je me retrouve avec Visual Studio Code qui me trouve plusieurs erreurs dans les fichiers du module. je vous les joints en dessous :

/**
 * @since 1.5
 */
include_once(_PS_ROOT_DIR_."/modules/ecgeneratebarcode/ecgeneratebarcode.php");
class HTMLTemplateInvoice extends HTMLTemplateInvoiceCore
{
    public function getHeader()
    {
        $this->assignCommonHeaderData();
        $ref = $this->order->getUniqReference().".png";
        $file= _PS_ROOT_DIR_."/modules/ecgeneratebarcode/views/img/$ref";
        $this->smarty->assign(array('header' => HTMLTemplateInvoice::l('Invoice')));
        if (!file_exists($file)) {
            $barcode = new ecgeneratebarcode();
            $barcode->generbarcode($this->order->getUniqReference());
        }
        $data = array(
            'order' => $this->order
        );
        if (Tools::getValue('debug')) {
            die(Tools::jsonEncode($data));
        }
        $this->smarty->assign($data);
        $tpls = array(
            'summary_tab' => $this->smarty->fetch($this->getTemplate('invoice.summary-tab')),
            'file' => $file,
        );
        $this->smarty->assign($tpls);
        return $this->smarty->fetch($this->getTemplate('header'));
    }
}

L'erreur ici étant "jsonEncode" que VSCode me dis déprécier. J'ai donc essayé de le remplacer par "json_encode" mais cela me dis que la fonction n'est pas définie. Soit

 

    /**
     * Create the form that will be displayed in the configuration of your module.
     */
    protected function renderForm()
    {
        $helper = new HelperForm();

        $helper->show_toolbar = false;
        $helper->table = $this->table;
        $helper->module = $this;
        $helper->default_form_language = $this->context->language->id;
        $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG', 0);

        $helper->identifier = $this->identifier;
        $helper->submit_action = 'submitEcgeneratebarcodeModule';
        $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false)
            .'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name;
        $helper->token = Tools::getAdminTokenLite('AdminModules');

        $helper->tpl_vars = array(
            'fields_value' => $this->getConfigFormValues(), /* Add values for your inputs */
            'languages' => $this->context->controller->getLanguages(),
            'id_language' => $this->context->language->id,
        );
        return $helper->generateForm(array($this->getConfigForm()));
    }

Ensuite une deuxième erreur mais qui je pense n'est pas la cause de mon problème. VSCode m'indique ne pas trouver la fonction "getLanguages()". J'ai donc chercher dans les différents fichier de référence des éléments et effectivement elle n'est pas présente.

 

 

Voila les deux erreurs que je retrouve dans le module. Evidemment j'ai essayé de contacter les créateurs du module mais ils ne répondent pas depuis une semaine et plusieurs relances.

Je viens donc ici pour savoir si quelqu'un à déjà utilisé ce module ou saurais comment résoudre ce genre d'erreur.

Merci

Share this post


Link to post
Share on other sites

Si json_code n'est pas défini:

- Soit vous avez changé de version de php et les libraries json manquent (php7.0-json)

- Soit votre hébergeur à désactivé la fonction

- Soit vous avez un grave problème de process (barrette mémoire HS, instabilité CPU, ...)

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

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