Jump to content

[RÉSOLU]Nom modules ont disparu..


Recommended Posts

Bonjour,

 

Je bosse actuellement sur le nouveau site de mon magasin, je n'ai rien modifié dans le ftp mise a part le fichier product.tpl mais j'ai remis le fichier d'origine apres l'apparition de l'erreur n'en comprenant pas la source.

 

Alors voila le soucis. Les modules fournis avec le thème viennent tout juste d'avoir une erreur, leur nom a tout simplement disparu ainsi que pas mal de réglages dans ces modules. Voici 2 screens montrant le soucis.

Ce soucis a aussi fait disparaître les boutons de connexion, contact, mon compte, liste de souhaits en haut a droite de la page..

Je suis perdu..

 

Merci d'avance 

post-486245-0-13259300-1431779343_thumb.jpg

post-486245-0-34552900-1431779364_thumb.jpg

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

Hum, je ne constate pas le problème sur une 1.6.0.11

Supprimez tous les fichiers config.xml et config_fr.xml de chaque répertoire module

Effacez les fichiers /config/default_country_modules_list.xml, modules_list.xml, modules_native_addons.xml, must_have_modules_list.xml et trusted_modules_list.xml et rafraichissez la page Modules de votre BO

Prestashop devrait recréer tout ça correctement^^

Link to comment
Share on other sites

Pour ma part oui. J'ai même dupliqué le module "cmsinfo" en changeant son nom, et il fait partie de ceux dont le nom n'apparait plus :(

Comme je l'ai dit plus haut, il s'agit presque exclusivement des modules non natifs ou non addon...

Link to comment
Share on other sites

Idem pour moi le nom y est..

 

?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>wg24blocknewproducts</name>
<displayName><![CDATA[]]></displayName>
<version><![CDATA[1.1.0]]></version>
<description><![CDATA[]]></description>
<author><![CDATA[24WebGroup]]></author>
<tab><![CDATA[front_office_features]]></tab>
<confirmUninstall><![CDATA[]]></confirmUninstall>
<is_configurable>1</is_configurable>
<need_instance>0</need_instance>
<limited_countries></limited_countries>
</module>
 
J'ai contacté le dev de ces modules car le soucis n'affecte que les siens.
Link to comment
Share on other sites

C'est comme si les modules en question ne définissaient pas $this->displayName dans leurs constructeurs (cf. le tag correspondant, vide). Peut-être cette contrainte est-elle apparue récemment dans PS, et les modules ne seraient pas totalement conformes.

Est-ce le cas? (vérifiez dans le fichier php principal des modules)

Sinon, un bug de la classe Module, mais à ce niveau là, ça se verrait ailleurs quand même, non?..

 

Link to comment
Share on other sites

exact, ni displayName ni description

Le problème vient donc lors de la génération du xml par la classe.

 

Cette classe lit la classe principale et récupère les infos.

A vérifier si ces modules tiers ont bien dans la fonction __construct() :

....

		$this->displayName = $this->l('Nom du module');
		$this->description = $this->l('Adds this module to have a wonderful site');
Link to comment
Share on other sites

Pouvez-vous vérifier si cette fonction est bien identique à celle-ci dans Module.php ?

	protected function _generateConfigXml()
	{
		$author_uri = '';
		if (isset($this->author_uri) && $this->author_uri)
			$author_uri = '<author_uri><![CDATA['.Tools::htmlentitiesUTF8($this->author_uri).']]></author_uri>';

		$xml = '<?xml version="1.0" encoding="UTF-8" ?>
<module>
	<name>'.$this->name.'</name>
	<displayName><![CDATA['.Tools::htmlentitiesUTF8($this->displayName).']]></displayName>
	<version><![CDATA['.$this->version.']]></version>
	<description><![CDATA['.Tools::htmlentitiesUTF8($this->description).']]></description>
	<author><![CDATA['.Tools::htmlentitiesUTF8($this->author).']]></author>'
	.$author_uri.'
	<tab><![CDATA['.Tools::htmlentitiesUTF8($this->tab).']]></tab>'.(isset($this->confirmUninstall) ? "\n\t".'<confirmUninstall><![CDATA['.$this->confirmUninstall.']]></confirmUninstall>' : '').'
	<is_configurable>'.(isset($this->is_configurable) ? (int)$this->is_configurable : 0).'</is_configurable>
	<need_instance>'.(int)$this->need_instance.'</need_instance>'.(isset($this->limited_countries) ? "\n\t".'<limited_countries>'.(count($this->limited_countries) == 1 ? $this->limited_countries[0] : '').'</limited_countries>' : '').'
</module>';
		if (is_writable(_PS_MODULE_DIR_.$this->name.'/'))
		{
			$iso = substr(Context::getContext()->language->iso_code, 0, 2);
			$file = _PS_MODULE_DIR_.$this->name.'/'.($iso == 'en' ? 'config.xml' : 'config_'.$iso.'.xml');
			if (!@file_put_contents($file, $xml))
				if (!is_writable($file))
				{
					@unlink($file);
					@file_put_contents($file, $xml);
				}
			@chmod($file, 0664);
		}
	}
Link to comment
Share on other sites

Peut-être aussi la fonction htmlentities() appelée par Tools::htmlentitiesUTF8() n'aimerait-elle pas les chaînes fournies et retournerait alors une chaîne vide???

Que définissent les modules comme $displayName et $description?

 

EDIT

Si les définitions sont du type $this->l('...'), vérifiez que les traductions des modules sont complètes

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

J'ai réussi à reproduire un cas d'erreur, tordu, qui expliquerait à la fois la disparition du nom affiché dans la liste des modules, et également la disparition des labels dans les pages de config: les traductions contiennent des caractères accentués et le fichier de traduction du module n'est pas encodé en UTF-8.

 

Ceci n'aurait pas dû pas arriver si vous avez vous-mêmes traduit le module depuis le BO, mais il se peut que le module soit livré avec sa traduction dans un encodage différent. Vous pouvez vérifier cela en ouvrant l'outil de traduction du BO. Si l'encodage n'est pas celui attendu, vous allez normalement voir apparaître des hiéroglyphes dans les traductions.

 

Une solution serait de corriger les traductions en retapant les bons caractères accentués, et de sauvegarder. Fastidieux, sans doute... Donc demandez plutôt au développeur du module de fournir les fichiers de traduction correctement encodés.

 

Ce que je ne comprends pas, c'est que vous semblez tous deux dire que tout allait bien avant l'upgrade de PS. Avez-vous changé de serveur, d'OS, et/ou de version PHP à cette occasion?

 

Link to comment
Share on other sites

Bonjour,

 

Les modules en question 24WebGroup ne sont pas traduit (pourtant avant ils fonctionnaient tres bien..) cela peut il venir de là?

 

De plus mon Prestashop était déjà dans cette version avant les soucis et je n'ai rien changé. C'est ce qui a motivé mon post ici car je ne voyais pas de solutions

 

Edit: Après avoir juste Copier/coller le nom anglais dans le champs français certains modules sont revenus a la normal. Je dois supprimer tout les fichiers config de ces modules et les fichiers XML correspondant dans config afin de mettre à jour l'affichage de mes modules c'est bien ça?

 

Super les noms sont réapparu ! et dans le front office IDEM !

 

Merci énormement je vais faire une réponse en dessous pour expliquer la solution

post-486245-0-67492900-1431868030_thumb.jpg

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

Voilà problème résolut !

 

Le soucis venait donc des traductions des modules qui avaient disparu ! 

La marche à suivre pour régler mon soucis a été donc:

 

1) refaire les traductions des modules ayant ce soucis

2) supprimer les fichiers config.xml et config_fr.xml de ces modules

3) supprimer les fichiers .xml liés aux modules dans le dossier config (je ne sais pas si cette étape est obligatoire mais j'ai préféré la faire !

 

 

Tout est Ok merci à tous pour votre aide

Link to comment
Share on other sites

En fait la 1.6.0.11 est buggée au niveau des traductions

Si jamais UN champ n'est pas traduit dans votre langue, il est remplacé par un champ vide (au lieu de prendre la valeur en anglais)

Ce bug a été corrigé depuis.

 

J'aurais dû y penser plus tôt ^^

  • Like 1
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...