Récemment
-
Des modules et des hacks - liste non exhaustive des modules présentant un risque
Discussion générale17 -
Thème enfant
PhenixSuite16 -
SumUp Payments Constant Update Request
Modules2 -
PaypalAPI erreur
PhenixSuite53 -
Problèmes de prix avec plusieurs devises et PayPal
PhenixSuite6 -
Solutions de paiement...
Discussion générale5 -
Petit code pour les descriptions de produits
Discussion générale3 -
Feuilles de styles non chargées si smart cache activé [RÉSOLU]
PhenixSuite5 -
PayPal Module Error
Bugs & Améliorations2 -
Transient Bug after 1.6.2.31 Upgrade
Bugs & Améliorations2 -
blockcategory et left_column
BUG connus1 -
[REGLÉ] override - je n'y arrive pas.
Modules10 -
les routes sur mesures
Discussion générale6 -
Nouvelle attaque ?
Discussion générale11 -
Problème calcul HT
Bugs & Améliorations42 -
Erreur sur facture générée depuis le FO
PhenixSuite3 -
Factures ne se génèrent plus depuis 06/12 [RÉSOLU]
Bugs & Améliorations20 -
Edition en masse des déclinaisons
Nouvelles fonctionnalités4 -
Mise à niveau de Prestashop 1.6.24 vers PhenixSuite 1.6.30
Discussion générale2 -
Thème possible
Questions relatives à l'installation/upgrade2
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é
-
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.