Jump to content

Recommended Posts

Bonjour,

 

je suis sous prestashop 1.6.09, suite à une mise à jour de google analytics via interface module BO je n'arive plus à acceder à mon site web ni le back office.

 

j'ai cherché partout je n'arrive pas à trouver une solution à mon probleme.

 

MERCI DE VOTRE AIDE

 

 

Strict Standards: Declaration of Tools::completeMetaTags() should be compatible with that of ToolsCore::completeMetaTags() in /home/prestashop/public_html/override/classes/Tools.php on line 159

Warning: Cannot modify header information - headers already sent by (output started at /home/prestashop/public_html/override/classes/Tools.php:159) in /home/prestashop/public_html/classes/controller/FrontController.php on line 793

Parse error: syntax error, unexpected ':' in /home/prestashop/public_html/modules/ganalytics/ganalytics.php on line 628

Link to comment
Share on other sites

Bonjour, idem sur une 1.6.0.6

petit tour dans les modules, tiens maj de qq uns, ok (dont le google)

maintenant en front page blanche / coté adm impossible de rentrer dans la partie module

Sous php my adm dans pss_module

ganalytics   1.8.2

donc la version a bien planté lors de la maj.

je l'ai passé à 0 (inactif) sans résultat.

Une idée ??

 

manit4c: pas trouvé de tools.php ....

 

Apparemment le problème semble sur le fichier de maj et non la version de prest.

http://www.prestashop.com/forums/topic/386003-ganalytics-module-crash-after-update/

http://www.prestashop.com/forums/topic/386085-modulo-ganalytics-fatal-error-e-pagina-binaca/

Edited by stephane.964 (see edit history)
Link to comment
Share on other sites

 

 

Strict Standards: Declaration of Tools::completeMetaTags() should be compatible with that of ToolsCore::completeMetaTags() in /home/prestashop/public_html/override/classes/Tools.php on line 159

 

Euh c'est bizar que tu n'est rien trouvé car ce message est clair. Dans le dossier "home/prestashop/public_html/override/classes/" le à la ligne 159 du fichier "Tools.php" la déclaration de la class completeMeraTags n'est pas compatible avec la classe d'origine.

Link to comment
Share on other sites

Bonjour manit4c

PArdon cela peut préter à confusion.

Je n'ai pas exactement la même erreur que distributechmaroc

Mon problème est relatif au module google et presta comme décrit dans le titre du post

PAGE BLANCHE MODULE GGOGLE ANALYTICS PREST 1.6 !

 

Le problème ressort différemment selon les conf/overides mais est bien lié à cette maj....

Link to comment
Share on other sites

Parse error: syntax error, unexpected ':' in /home/xxxxxx/www/modules/ganalytics/ganalytics.php on line 628

 

 

ganalytics.php / 628 est la ligne  rouge

 

        $cart = array(
            'controller' => Tools::getValue('controller'),
            'addAction' => Tools::getValue('add') ? 'add' : '',
            'removeAction' => Tools::getValue('delete') ? 'delete' : '',
            'extraAction' => Tools::getValue('op'),
            'qty' => (int)Tools::getValue('qty') ? : '1');
 

Link to comment
Share on other sites

Superbe, cela fonctionne parfaitement.

Merci beaucoup.

 

JE viens de regarder un site sous 1.6.9 module Google Analytics v1.8.2 -  (nécessite une maj)

le code en question n'existe pas

la partie de code suivante est insérée lors de la maj

 

    /**
     * hook save cart event to implement addtocart and remove from cart functionality
    */
    public function hookActionCartSave()
    {
        if (!isset($this->context->cart))
            return;

        $ga_scripts  = '';

        $cart = array(
            'controller' => Tools::getValue('controller'),
            'addAction' => Tools::getValue('add') ? 'add' : '',
            'removeAction' => Tools::getValue('delete') ? 'delete' : '',
            'extraAction' => Tools::getValue('op'),
//            'qty' => (int)Tools::getValue('qty') ? : '1');
'qty' => (int)Tools::getValue('qty') ? Tools::getValue('qty') : '1');


        $cart_products = $this->context->cart->getProducts();
        if (isset($cart_products) && count($cart_products))
            foreach ($cart_products as $cart_product)
                if ($cart_product['id_product'] == Tools::getValue('id_product'))
                    $add_product = $cart_product;

        if ($cart['removeAction'] == 'delete')
        {
            $add_product_object = new Product((int)Tools::getValue('id_product'), true, (int)Configuration::get('PS_LANG_DEFAULT'));
            if (Validate::isLoadedObject($add_product_object))
            {
                $add_product['name'] = $add_product_object->name;
                $add_product['manufacturer_name'] = $add_product_object->manufacturer_name;
                $add_product['category'] = $add_product_object->category;
                $add_product['reference'] = $add_product_object->reference;
                $add_product['link_rewrite'] = $add_product_object->link_rewrite;
                $add_product['link'] = $add_product_object->link_rewrite;
                $add_product['price'] = $add_product_object->price;
                $add_product['ean13'] = $add_product_object->ean13;
                $add_product['id_product'] = Tools::getValue('id_product');
                $add_product['id_category_default'] = $add_product_object->id_category_default;
                $add_product['out_of_stock'] = $add_product_object->out_of_stock;
                $add_product = Product::getProductProperties((int)Configuration::get('PS_LANG_DEFAULT'), $add_product);
            }
        }

        if (isset($add_product))
        {
            $ga_products = $this->wrapProduct($add_product, array(), 0, true);

            if ($cart['removeAction'] == 'delete' || $cart['extraAction'] == 'down')
                $ga_scripts .= 'MBG.removeFromCart('.Tools::jsonEncode($ga_products).');';
            elseif (Tools::getValue('step') <= 0) // Sometimes cartsave is called in checkout
                $ga_scripts .= 'MBG.addToCart('.Tools::jsonEncode($ga_products).');';

            $this->context->cookie->ga_cart .= $ga_scripts;
        }

Bizarre que la maj ait été validée..

Edited by stephane.964 (see edit history)
Link to comment
Share on other sites

 

 

Une pull request un peu plus propre est en validation au moment où je vous parle. Version 2.0.1 d'ici 24h dans votre BO.

 

Xavier, lorsqu'un bug (bloquant) à été repéré sur la version d'un module post validation. Ne serait-il pas possible de ne pas proposer la mise à jour du module dans le BO de prestashop ? Ou du moins la maj vers une version clean ?

 

Si c'est pas possible ce serait bien de faire remonter l'idée à la team qui gère ça pour le mettre en place ça ferait gagner du temps à tous le monde.

Link to comment
Share on other sites

Avec la correction indiquée plus haut ça fonctionne parfaitement. Mais attention à bien modifier le zip avant installation et ne pas faire la maj à partir de l'admin, ça plante tout ! 

 

Ce serait pas mal de virer la grosse pub "Create Analytics account" lorsqu'on a indiqué un ID de suivi... c'est lourd et, surtout, inutile.

 

Puis proposer un module buggé (et à priori validé), c'est pas très pro de la part de la team de validation... ça n'a manifestement pas été testé !

Link to comment
Share on other sites

merci j'ai connu le même problème page blanche plus moyen d'avoir acces via le BO aux modules 

 

je suis aller dans le module google ganalytics et j'ai modifié via dreamweaver la ligne que Manit4c à indiqué

 

Milles Mercis

 

ps je ne savais pas comment faire pour modifier les lignes .... et jje ne sais toujours pas je suis un novice autodidacte :(

Link to comment
Share on other sites

Bonjour,

manit4c (Olivier C.)

Je vous remerçie pour votre réponse pertinente mon site a remarché aprés avoir modifier le fichier tools.php en tools.php.back. maintenant quand je vais sur module en BO j'ai cette warning dans une fenetre en rouge :

 

Unknow error à la ligne 64 du fichier /home/prestashop/public_html/modules/m2t/m2t.php
[2048] Accessing static property m2t::$ACCEPTED_URL as non static

Unknow error à la ligne 65 du fichier /home/prestashop/public_html/modules/m2t/m2t.php
[2048] Accessing static property m2t::$storeId as non static

Unknow error à la ligne 66 du fichier /home/prestashop/public_html/modules/m2t/m2t.php
[2048] Accessing static property m2t::$SECRETKEY as non static

 

MERCI BIEN.

Link to comment
Share on other sites

  • 1 year later...

Bonjour,

 

J'ai le même problème, page blanche suite à la mise à jour du module Google analytics version 2.3.4

 

Je suis passé en débug et j'obtiens cette erreur

Fatal error: Call to a member function isRegisteredInHook() on boolean in /var/www/html/nomdedomaine/modules/ganalytics/ganalytics.php on line 451

 

Si quelq'un à une idée, je suis preneur

Edited by Cedric31 (see edit history)
Link to comment
Share on other sites

public function isModuleEnabled($name)
    {
        if (version_compare(_PS_VERSION_, '1.5', '>='))
            if(Module::isEnabled($name))
            {
                $module = Module::getInstanceByName($name);
                return $module->isRegisteredInHook('home');        =======> ligne 451
            }
            else
                return false;
        else
        {
            $module = Module::getInstanceByName($name);
            return ($module && $module->active === true);
        }
    }

Link to comment
Share on other sites

 

ouai c'est faux ça:

'qty' => (int)Tools::getValue('qty') ? : '1');

ça c'est bon:

'qty' => (int)Tools::getValue('qty') ? Tools::getValue('qty') : '1');

 

Bonjour olivier,

 

Je rencontre un bug similaire sur ce module, impossbile d'afficher mon site suite à la mise à jour du module Ganalytics

 

Fatal error: Call to a member function isRegisteredInHook() on boolean in /var/www/html/nomdedomaine/modules/ganalytics/ganalytics.php on line 451

 

Aurais tu une idée du problème ?

 

je te remercie par avance

Link to comment
Share on other sites

HEllo,

l'erreur veux dire que $module qui devrait êter normalement une "classe" de type "module" est en réalité un booleen c'est à dire 0 ou 1.

 

A priori la fonction getinstancebyname ne retourne pas la bonne valeur.

Soit elle est corrompue (override dessus peut être) soit c'st la valeur qui lui est fournie ($name) qui est fausse.

 

Cherche déjà si tu as un override de la classe "module" dans "override/classes"

Link to comment
Share on other sites

n'étant pas expert en dev, j'ai trouvé ce tuto sur override https://blog.ukoo.fr/prestashop/20120907-les-bonnes-pratiques-prestashop-loverride/

c'est plus clair :)

 

pour info, je vois pas de fichier Module.php dans le dossier "override/classes"

 

Par contre je trouve ça override/classes/module/Module.php

 

 

Edited by Cedric31 (see edit history)
Link to comment
Share on other sites

le code source du fichier override/classes/module/Module.php

 

<?php

abstract class Module extends ModuleCore
{
    protected function getCacheId($name = null)
    {
        if (version_compare(_PS_VERSION_,'1.5.3.1','>'))
            return parent::getCacheId($name);
        else
            return false;
    }
}
 


En tout cas merci pour ton aide :D

Edited by Cedric31 (see edit history)
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...