Jump to content

Bug étrange pour l'affichage de certain module. (En js?)


Recommended Posts

Bonjour a tous,

 

J'ai passé la nuit à essayé de trouver puis de fixer un étrange problème.

 

Après avoir bricoler mon site pour améliorer ses performances, désinstaller des modules, compressé de partout après avoir changé de thème et fait monté la bourique en 1.6.0.11 sans aucun problème majeur. 

Je me suis retrouvé avec les titres de certains modules totalement disparus.

 

Après avoir fouillé et refouillé, j'ai trouver cette ligne de code sur tout les titres des modules qui buger (une 10aine de module) :

 

<div class="module_name"><span style="display:none">Titre du module</span> 

 

Alors que si l'on remplace le display:none par display:block, cela rentre dans l'ordre...

 

De même, à l'intérieur de certains modules, tout le texte à disparu.

 

Auriez-vous une idée pour fixer ce problème ?  :(

 

Merci d'avance pour votre aide !

 

post-756691-0-03445100-1423552792_thumb.jpg

post-756691-0-55715100-1423552792_thumb.jpg

Link to comment
Share on other sites

C'est toujours à display:none; (Nom de code du module) par contre il vous manque la variable $module->displayName

<span style="display:none">{$module->name}</span>
	{$module->displayName}

Vérifiez que celle-ci est bien présente dans la fonction  __construct() de votre module

$this->displayName = $this->l('Public name of the module');
Link to comment
Share on other sites

Merci beaucoup pour ton aide, j'essaye dès ce soir de vérifier cette ligne dans la 10aine de modules incriminés.

 

Sinon, je pense avoir trouvé le module (pnadvancedlist) qui m'aurait fait buger un bon tiers de mes autres modules... En effet, en réinitialisant un par un tous les modules, je suis tombé sur cela avec pnadvancedlist : 

 

[PrestaShopException]

Property Tab->name is empty
at line 907 in file classes/ObjectModel.php

902.
903.                 $message = $this->validateField($field, $value, $id_lang);
904.                 if ($message !== true)
905.                 {
906.                     if ($die)
907.                         throw new PrestaShopException($message);
908.                     return $error_return ? $message : false;
909.                 }
910.             }
911.         }
912.

 

Est ce que cela vous dit quelques chose ?

Le créateur du module ne m'a toujours pas répondu...

 

Merci pour tout votre aide !

 

Gaspard

Link to comment
Share on other sites

Bonjour à tous !

 

J'ai finalement trouvé la source du problème, qui était dans le code source de prestashop 1.6.0.11

 

 

C'était en fait un problème de traduction de module qui ne fonctionné plus du tout, et faisait donc planter une grande partie des modules mise a jour sous la 1.6.0.11

 

Je vous laisse la réponse en dessous, avec la résolution de ce problème.

 

Merci encore pour votre aide :)

 

 

https://github.com/PrestaShop/PrestaShop/commit/9e27137fc1f1d57d4da9fc3fc1a63bba23c9a422

 

 

To repair only one file.
prestashop 1.6.0.11
classes/translate.php
line. 169

if (isset($_MODULES[$current_key]))
$ret = stripslashes($_MODULES[$current_key]);
elseif (isset($_MODULES[$default_key]))
$ret = stripslashes($_MODULES[$default_key]);

replace with

if (isset($current_key) && !empty($_MODULES[$current_key]))//Bosky
$ret = stripslashes($_MODULES[$current_key]);
elseif (isset($default_key) && !empty($_MODULES[$default_key]))
$ret = stripslashes($_MODULES[$default_key]);
elseif (!empty($_MODULES[$current_key]))
$ret = stripslashes($_MODULES[$current_key]);
elseif (!empty($_MODULES[$default_key]))
$ret = stripslashes($_MODULES[$default_key]);

It works for me

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