Mise à jour Prestashop 1.6.0.5 vers 1.6.0.9 - Blogobe.fr
prestashop

Mise à jour Prestashop 1.6.0.5 vers 1.6.0.9

Lors de la mise à jour de Prestashop 1.6.0.5 vers la dernière version disponible, à savoir la 1.6.0.9, le module de mise à jour automatique à échoué sans raison apparente.

En revanche les conséquences sont bien visibles : Mise à jour partielle des fichiers, et pas de mise à jour de la base de donnée.
On se retrouve donc avec une page blanche coté front-office ET back-office. (sympa)

1 – Lancer la mise à jour manuellement (attention c’est déconseillé par Prestashop, à faire en dernier recours quand on a des sauvegardes)
Pour ca j’ai récupéré le dossier install dans le zip de Prestashop 1.6.0.9, et on accede à l’url http://blabla.com/install/upgrade/upgrade.php
Ca n’affiche pas l’assistant d’installation habituel, mais une réponse xml dont le premier résultat me répond « error : 34″.
D’après ce qu’on trouve dans les forums de Prestashop, c’est un problème de droits sur un dossier.
chmod 777 -R ./install
On relance l’upgrade manuel via http://blabla.com/install/upgrade/upgrade.php et là on reçois l’erreur 28 qui signifie « Version installée déjà à jour ».
Pourquoi ? Comment ? … passons.
On peut de nouveau accéder au front et au back-office.

Il reste tout de même un détail assez étrange, plus rien n’est dynamique sur le front, et les menus du back-office ne s’affichent pas.
Un petit tour dans la console du navigateur pour découvrir qu’aucun script javascript n’est chargé au chargement de la page !!!
Dans la console on aperçoit par exemple : « $ is undefined ».
Après quelques heures à fouiller dans tous les sens, voilà ma conclusion : il manque « simplement » un morceau de code dans le fichier header.tpl de mon theme (qui n’est pas censé avoir été touché).
Quelques lignes qui chargent les scripts javascripts à coller juste avant le dans le fichier header.tpl :

{if isset($js_defer) && !$js_defer && isset($js_files) && isset($js_def)}
        {$js_def}
        {foreach from=$js_files item=js_uri}
        <script type="text/javascript" src="{$js_uri|escape:'html':'UTF-8'}"></script>
        {/foreach}
{/if}

Merci le module de mise à jour automatique.
Pour être honnête, la plupart du temps il fonctionne très bien, et fait gagner un temps fou.

En espérant que ces quelques pistes soient utiles…

You may also like...

Laisser un commentaire