Récemment


Erreur module block_cart en php8.2 mais pas en php7.4



  • Bonjour,
    je suis en train d'essayer de monter la version de php sur un site prestashop.

    J'ai un soucis avec le module block_cart quand je veux passer en php8.2, alors que sous php7.4 cela ne pose aucun soucis.
    (Bloc panier v14 - par PrestaShop updated by Eolia)

    L'erreur que j'ai se trouve dans un fichier cache smarty.

    Cette ligne génère l'erreur ci-dessous :
    <?php $_smarty_tpl->_assignInScope('free_ship', count($_smarty_tpl->tpl_vars['cart']->value->getDeliveryAddressesWithoutCarriers(true,$_smarty_tpl->tpl_vars['errors']->value)));?>

    Fatal error: Uncaught Error: Attempt to modify property "value" on null

    (httpdocs/cache/smarty/compile/cb/20/12/cb20123965304d8a0f541e19cc61cca45d224bc7_0.file.blockcart.tpl.php on line 260)

    J'ai installé une version vierge et tout fonctionne, donc je pense qu'il y a un soucis avec un autre module, ou une configuration, mais je ne sais pas trop par où chercher.

    Merci d'avance si quelqu'un peut me mettre sur la piste



  • Vous n'êtes pas sur le thème de base je suppose?
    Supprimez le fichier /themes/votre_theme/modules/blockcart/blockcart-json.tpl qui n'est pas conforme.



  • @eolia a dit dans Erreur module block_cart en php8.2 mais pas en php7.4 :

    mez le fichier /themes/votre_theme/modules/blockcart/blockcart-json.tpl qui n'est pas conforme.

    je récupère ce site pour justement essayer de le rendre conforme, et effectivement, le thème utilisé n'est pas le thème de base.

    J'ai supprimé le fichier comme indiqué, j'ai vidé le cache, supprimé le fichier du dossier cache/smarty, mais rien ne change.

    Est-ce que ce serait plus judicieux de repartir d'une installation de base avec votre solution et de réimporter la base de donnée et intégrer les modules au fur et mesure ?
    Ou essayer de comprendre ce qui pose soucis ?



  • Si rien ne change, quel est le chemin indiqué dans le fichier du cache smarty svp ? (au début du fichier il y a le chemin du template qui a généré ce cache)



  • c'est écrit :
    From source: /var/www/vhosts/xxxxxxx/httpdocs/themes/default-bootstrap/modules/blockcart/blockcart.tpl



  • Alors normalement cette ligne est commentée (avec des étoiles)
    {assign var='free_ship' value=!count($cart->getDeliveryAddressesWithoutCarriers(true))}

    Mais je ne comprends pas, je croyais que vous n'étiez pas sur le thème par défaut ???



  • c'était bien ça.
    je pense que c'est un thème qui a été bricolé. En plus le site avait été vérolé, d'où l'utilisation de votre patch. Et le désir de le mettre à jour avec votre solution.

    à priori, ça à l'air d'être fonctionnel maintenant. Je ferai des tests avec mon client demain pour vérifier que tout est en place.

    merci bcp pour l'aide et votre réactivité


Se connecter pour répondre