Jump to content

Recommended Posts

Bonjour,

J'ai un gros souci avec Prestashop : lorsque je procéde à la mise à jour de la version 1.7.6.9 à la version 1.7.7.0, cela ne fonctionne plus.

Dans le front-office, tout va bien mais dans le back-office, plus rien ne s'affiche et j'ai l'erreur suivante :

ecig-zen.com [Tue Feb 23 17:28:24.376119 2021] [-:error] [pid 28562:tid 140060250777344] [client 91.242.162.12:0] FastCGI: server "/home/clients/43de901f714fb98f0370710e9cc92ddf/.config/apache/ecig-zen.com/.fpm/php5.external" stderr: PHP message: PHP Warning: htmlspecialchars() expects parameter 1 to be string array given in /home/clients/43de901f714fb98f0370710e9cc92ddf/ecigzen/CZPARIS/var/cache/prod/smarty/compile/layouts_layout_full_width_tpl/93/10/ed/9310ed027cb144b6d6d3422b23afb1ca209e1453_2.file.product.tpl.php on line 113

 

Il semble donc y avoir un problème avec le cache de smarty mais l'un de vous saurait-il comment le résoudre s'il vous plaît ?

Ou même si vous avez déja eu ce problème s'il vous plaît ?

Link to comment
Share on other sites

Bonjour,

Merci pour votre aide.

On 3/2/2021 at 2:05 PM, Remy FRK Corp said:

Bonjour.

 peut être causé par un override.

Il n'y a normalement aucun override, donc cela ne devrait pas pouvoir être ça.

 

1 hour ago, Shonen said:

As-tu essayé de vider le cache ? Comme ça ton site va se reconstruire et pas essayer de charger l'ancien code sur une nouvelle version.

Dossier /var/cache/ et supprimer prod/ et dev/

Effectivement, je n'y avais pas pensé (alors que c'est la première chose que j'aurai dû faire), ce problème a disparu après la suppression du cache mais il y en a un autre qui est apparu du côté du back-office :

 

The autoloader expected class "PrestaShopBundle\Controller\Admin\Configure\AdvancedParameters\index" to be defined in file "/home/clients/43de901f714fb98f0370710e9cc92ddf/ecigzen/CZPARIS/vendor/composer/../../src/PrestaShopBundle/Controller/Admin/Configure/AdvancedParameters/index.php". The file was found but the class was not in it, the class name or namespace probably has a typo.

Du côté du front-office, il y a aussi celle-ci

class IndexControllerCore extends FrontController { public function initContent() { {if $urls.current_url == "https://www.ecig-zen.com/content/12-magasin-ecig-paris-15"} {Tools::redirect('https://www.ecig-zen.com/content/10-paris-15')} {/if} {if $urls.current_url == "https://www.ecig-zen.com/content/10-magasin-ecig-paris-10"} {Tools::redirect('https://www.ecig-zen.com/content/9-paris-10')} {/if} {if $urls.current_url == "https://www.ecig-zen.com/content/8-les-magasins/158-e-cigarette-et-sant%c3%a9-d%c3%a9m%c3%aaler-le-vrai-du-faux"} {Tools::redirect('https://www.ecig-zen.com')} {/if} {if $urls.current_url == "https://www.ecig-zen.com/2-cigarette-electronique-paris/207-j-le-houezec-offre-à-nos-décideurs-ses-données-d-expert"} {Tools::redirect('https://www.ecig-zen.com')} {/if} {if $urls.current_url == "https://www.ecig-zen.com/content/8-les-magasins/269-nous-vous-souhaitons-un-beau-week-end-rempli-d-amour-et-de-plaisirs"} {Tools::redirect('https://www.ecig-zen.com')} {/if} } }
Fatal error: Class 'IndexControllerCore' not found in /home/clients/43de901f714fb98f0370710e9cc92ddf/ecigzen/CZPARIS/classes/PrestaShopAutoload.php(143) : eval()'d code on line 1

Connaîtriez-vous la solution s'il vous plaît ?

Merci d'avance.

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

5 hours ago, Shonen said:

As-tu essayé de vider le cache ? Comme ça ton site va se reconstruire et pas essayer de charger l'ancien code sur une nouvelle version.

Dossier /var/cache/ et supprimer prod/ et dev/

bhé oui les caches CQFD bien vu (on les faits vider tellement souvent qu'on fini par pu y pensé)!

Link to comment
Share on other sites

Class 'IndexControllerCore' not found ça pue, je dirais que ton dossier /controller/ ne contient pas tout le code source qu'il devrait avoir.

Vérifie l'intégrité du contenu de tes controller par rapport au github officiel : https://github.com/PrestaShop/PrestaShop/tree/develop/controllers

Fait la même avec les classes au cas où : https://github.com/PrestaShop/PrestaShop/tree/develop/classes

Link to comment
Share on other sites

Merci pour le fichier, je n'ai pas encore pu, il faut qu'une date soit fixée pour la maintenance avec ma responsable, cela sera soit demain soir soit dans dix jours (je suis en alternance donc la semaine prochaine je ne travaillerai pas et ne pourrai donc pas le faire). En espérant que le fait de remplacer les fichiers corrige le problème.

Link to comment
Share on other sites

Pour être plus précis avec ma réponse

20 hours ago, Yanis CORSELLE said:

Fatal error: Class 'IndexControllerCore' not found in /home/clients/43de901f714fb98f0370710e9cc92ddf/ecigzen/CZPARIS/classes/PrestaShopAutoload.php(143) : eval()'d code on line 1

Quand tu regarde l143 de PrestaShopAutoload, il essaye de récupérer la classe Core quand il ne trouve pas la classe officielle, donc si ici il essaye de choper IndexControllerCore, c'est qu'il ne trouve pas IndexController et donc il va chercher un Core, qui n'existe pas avec IndexController.

D'où mon interpellation : je pense que ton dossier controller/ est un peu corrompu. Essaye déjà de regarder dedans rien que pour vérifier si IndexController est présent ou non, une piste.

Parfois quelques thèmes vont faire des override directement dans le coeur, sans passer par le dossier override (bouh pas bien), donc même si ton thème est compatible 1.7.7.0, est-ce qu'il est à jour ?

Lors de tes test, si tu passes sur un environnement de développement (conseillé), essaye aussi avec le thème classic.

Et ça coûte rien de renommer ton dossier controller par _controller par exemple, et de glisser celui du gith Presta à la place, tu peux revenir en arrière en 1 clic.

Mais c'est tellement + agréable dans un environnement de dev, no stress.

  • Thanks 1
Link to comment
Share on other sites

Merci beaucoup pour ces conseils.

Le thème ne propose pas de mise à jour donc il semble à jour.

J'ai essayé sur un serveur de test de faire les mises à jour (normalement, les modules sont sensés être les mêmes mais ce n'est pas le même thème) et la mise à jour s'est bien exécutée.

Je vais essayer cela dès que ma responsable me donnera une date d'essai.

Merci encore, je posterai un message ici pour prévenir si c'est bon ou non.

Link to comment
Share on other sites

Pas certain, ça se tente comme dit précédemment sans risque en renommant simplement le dossier et en glissant celui de github. Pense à vider le cache après ça.

Mais vraiment, selon comment a été codé le thème, rien n'est moins sûr.

Par contre si tu as payé récemment le thème tu devrais avoir un suivi MàJ encore actif. Sinon c'est tant pis !

  • Like 1
Link to comment
Share on other sites

Merci pour la réponse. J'essayerai dès que j'en aurai la possibilité.

 

Le thème a dû être payé il y a un an environ.

 

Je leur ai demandé pour le support mais ils m'ont pas répondu qu'ils n'étaient pas communistes et ne travaillaient donc pas gratuitement ...

Link to comment
Share on other sites

hello

A la lumière du fait qu'au final le theme n'est pas à jour.

je serais tenté de me ralier à  l'avis de @Shonen  d'attendre après "un suivi MàJ encore actif. Sinon c'est tant pis !"

Il y'à eut tellement de petits changements entre la 1.7.6.9 et la 1.7.7.0 que mème coté des fichiers .tpl y'a aussi du smarty qui à bougé ... donc déja sur le theme d'origine ca provoquait des effets de bords sur un theme enfant classic pas à jour, avec un theme spe....ca risque d’être chaud.

Sinon 150€ pour une maj...bha ma foie...coté commerçants je comprend qu' on serait tenter de dire que ça fait cher...

Mais sincèrement coté dev c'est du taf... et pas qu'un peu!  Donc en vrais 150€ c'est + qu' acceptable au vu du fait que quelqu'un va devoir repassé au crible tout un template. D’ailleurs c'est plutôt un investissement qu'une "dépense" ...puisque votre theme fait parti de votre outil de travail...

Edited by Remy FRK Corp (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
On 3/4/2021 at 2:28 PM, Shonen said:

Parfois quelques thèmes vont faire des override directement dans le coeur, sans passer par le dossier override (bouh pas bien)

y'a cette éventualité

sinon le répertoire d'override et les répertoires d'override des modules.

a ce stade faudrait tenté de remplacer les classes et les controleurs par ceux du pack correspondant a ta version de PS. Mais vu qu il y a aussi le theme, faudrait être sure d’être good niveau compatibilité de version...

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...