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



  • 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é



  • j'ai le meme souci et on a essayé de commenter mais ca n'a pas fonctionné
    theme de base : bootstrap



  • Cette ligne est commentée dans le thème default_boostrap (sauf si vous ne l'avez pas mis à jour)



  • Elle était pas commentée, on l'a commenté. Ca a améliorer la chose mais on a eu autre chose qui a été noté. Ci joint l'erreur :

    Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, bool given in /htdocs/monsite.site/cache/smarty/compile/51/ce/6e/51ce6e2db5d85c7c51dc25788166c1e589b872b9_0.file.blockwishlist_button.tpl.php:25 Stack trace: #0



  • en plus long ça donne cela :
    Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, bool given in /htdocs/monsite.site/cache/smarty/compile/51/ce/6e/51ce6e2db5d85c7c51dc25788166c1e589b872b9_0.file.blockwishlist_button.tpl.php:25 Stack trace: #0 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_template_resource_base.php(123): content_663cf5a2323543_86080725(Object(Smarty_Internal_Template)) #1 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(Smarty_Internal_Template)) #2 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_internal_template.php(218): Smarty_Template_Compiled->render(Object(Smarty_Internal_Template)) #3 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_internal_templatebase.php(238): Smarty_Internal_Template->render(false, 0) #4 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_internal_templatebase.php(122): Smarty_Internal_TemplateBase->_execute(Object(Smarty_Internal_Template), NULL, NULL, NULL, 0) #5 /htdocs/monsite.site/classes/module/Module.php(2589): Smarty_Internal_TemplateBase->fetch() #6 /htdocs/monsite.site/modules/blockwishlist/blockwishlist.php(149): ModuleCore->display('/htdocs/gregsit...', 'blockwishlist_b...') #7 /htdocs/monsite.site/classes/Hook.php(691): BlockWishList->hookDisplayProductListFunctionalButtons(Array) #8 /htdocs/monsite.site/classes/Hook.php(632): HookCore::coreCallHook(Object(BlockWishList), 'hookdisplayProd...', Array) #9 /htdocs/monsite.site/config/smarty.config.inc.php(220): HookCore::exec('displayProductL...', Array, NULL) #10 /htdocs/monsite.site/config/smarty.config.inc.php(432): smartyHook(Array, Object(Smarty_Internal_Template)) #11 /htdocs/monsite.site/cache/smarty/compile/d6/48/ad/d648ad39e0b02e016ec1f7be28ac4316bb85dc9b_0.file.product-list.tpl.php(346): SmartyLazyRegister->__call('smartyHook', Array) #12 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_template_resource_base.php(123): content_663cf5a2310703_16196701(Object(Smarty_Internal_Template)) #13 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(Smarty_Internal_Template)) #14 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_internal_template.php(218): Smarty_Template_Compiled->render(Object(Smarty_Internal_Template)) #15 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_internal_template.php(387): Smarty_Internal_Template->render() #16 /htdocs/monsite.site/cache/smarty/compile/eb/c0/7f/ebc07f31a72735915984e75bf312676460948919_0.file.category.tpl.php(154): Smarty_Internal_Template->_subTemplateRender('file:./product-...', NULL, NULL, 0, 3600, Array, 0, false) #17 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_template_resource_base.php(123): content_663cf5a2237786_26004306(Object(Smarty_Internal_Template)) #18 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(Smarty_Internal_Template)) #19 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_internal_template.php(218): Smarty_Template_Compiled->render(Object(Smarty_Internal_Template)) #20 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_internal_templatebase.php(238): Smarty_Internal_Template->render(false, 0) #21 /htdocs/monsite.site/tools/smarty/sysplugins/smarty_internal_templatebase.php(122): Smarty_Internal_TemplateBase->_execute(Object(Smarty_Internal_Template), NULL, NULL, NULL, 0) #22 /htdocs/monsite.site/classes/controller/FrontController.php(956): Smarty_Internal_TemplateBase->fetch('/htdocs/gregsit...') #23 /htdocs/monsite.site/classes/controller/Controller.php(239): FrontControllerCore->display() #24 /htdocs/monsite.site/classes/Dispatcher.php(415): ControllerCore->run() #25 /htdocs/monsite.site/index.php(27): DispatcherCore->dispatch() #26 {main} thrown in /htdocs/monsite.site/cache/smarty/compile/51/ce/6e/51ce6e2db5d85c7c51dc25788166c1e589b872b9_0.file.blockwishlist_button.tpl.php on line 25



  • Vous avez quoi au debut de votre fichier /themes/votre_theme/modules/blockwishlist/blockwishlist_button.tpl ?

    Normalement vous devriez avoir soit:

    {if !empty($wishlists) && count($wishlists) > 1}
    

    Soit

    {if isset($wishlists) && is_countable($wishlists) && count($wishlists) > 1}
    

    C'est bien joli de vouloir changer de version PHP mais si votre thème ou vos modules ont plus de 5 ans vous prenez le risque de les débuguer un par un sachant qu'à l'époque PHP 8 n'existait pas du tout et était inconnu des développeurs.



  • j'ai bien la premiere ligne sur le fichier :
    if isset($wishlists) && count($wishlists) > 1}

    oui on est en train de voir que c'est pas une super idée. Vu que les modules étaient en partie natif, j'ai pensé que ca allait quand meme fonctionné sur la version phenix



  • Ben non, regardez mieux, vous n'avez pas la même ligne (isset est différent de not empty)

    Tous les modules natifs de Phenix sont compatibles PHP 8.3 mais si votre thème a ses propres tpls je ne peux rien vous garantir.


Se connecter pour répondre