2017-09-21 4 views
0

J'ai découvert que dans mon PrestaShop (1.6.1.4) les images sont visibles uniquement pour les utilisateurs déconnectés. Après la connexion, les images disparaissent (frontend). Que, lorsque vous êtes connecté sur, l'URL de l'image est (exemple):Fichiers image supplémentaires avec un hachage aléatoire?

https://www.e-ryneczek.pl/2346-tm_home_default/arbuz.jpg

Après la connexion, la même URL de l'image du produit devient:

https://www.e-ryneczek.pl/2346-tm_home_default-X6sI2y9CbJ/arbuz.jpg

La seule différence est que, après connexion , PrestaShop ajoute ceci: -X6sI2y9CbJ dans l'URL de l'image.


Après d'autres investigations j'ai découvert, que certaines images (environ 10%) vraiment obtenu fichier physique supplémentaire avec la même fin sur le serveur! Ce n'est pas efficace en mémoire, car ce sont les mêmes images (doublons). Donc, quelques questions:

1) Pourquoi PrestaShop change-t-il l'URL de l'image pour les utilisateurs connectés?

2) Pourquoi il est pas résolu dans htaccess, mais il y a vraiment des fichiers physiques avec cette étrange « hachage »

3 *) Toutes les idées, pourquoi ces images « hash » ne sont pas créés dans tous les cas et mon utilisateur connecté ne voit presque pas d'images? Cette question ne concerne pas vraiment le système ou la programmation, donc si ce n'est pas l'endroit à demander, désolé à ce sujet.


MISE À JOUR: Merci pour commentaires. J'ai fait grep -r à travers tous les fichiers PrestaShop et base de données. C'est un problème 100% PrestaShop. Ce hachage étrange apparaît dans:

    base de données
  • sous "WATERMARK_HASH"
  • cours/Image.php
  • classes/link.php

liste complète (sous la borne):

cd YourPrestaShopDirectory 
grep -r WATERMARK_HASH 
+1

Prestashop ne le fait pas par défaut. Pourrait être un module ou un override qui fait cela. Vous pourriez vouloir rechercher les fichiers de projet pour cette chaîne de hachage et voir s'il y a un code qui l'ajoute aux liens d'image. – TheDrot

+0

OK, merci beaucoup. J'étais méfiant à. Pourriez-vous s'il vous plaît fournir ce commentaire comme une réponse? Je vais l'accepter, et upvote. Je vais faire un grep sur tous les fichiers dans presta et trouver ce que c'est.Bonne idée, ça résout parfaitement mon problème. –

+0

J'ai trouvé celui-ci dans la base de données sous WATERMARK_HASH. Aussi dans classes/Image.php. C'est un problème 100% PrestaShop. –

Répondre

1

Comme je l'ai dit, ce n'est pas un problème Prestashop par défaut, cependant il y a un module créé par Prestashop appelé Watermark.

Vous avez probablement installé ce module et, dans sa configuration, Logged-in customers see images without watermark est défini sur No.

Si vous utilisez des filigranes sur des images, vous devez régénérer les images sous Preferences -> Images en bas de la page pour que toutes les images soient également copiées en filigrane.

Sinon, vous pouvez désactiver ce module.