2017-09-21 49 views
0

我发现在我的PrestaShop(1.6.1.4)图像只可见于注销用户。登录后,图像消失(前端)。更重要的是,在退出后,该图片网址(例):带有一些随机散列的其他图像文件?

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

登录后,同样的产品图像URL成为:

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

唯一的区别是,登录后,PrestaShop增加了这个:-X6sI2y9CbJ里面的图片网址。


经过进一步调查,我发现,一些图片(约10%)的真正得到额外的物理文件与服务器相同的结局!这不是有效的内存,因为这些是相同的图像(重复)。这么几个问题:

1)为什么PrestaShop更改登录用户的图像url?

2)为什么它不是在htaccess的解决了,但真的有物理文件与怪“哈希”

3 *)任何想法,为什么在所有情况下都不会产生这些“哈希”图像而我登录的用户几乎看不到任何图像?这个问题不完全是关于系统或编程的目的,所以如果这不是要问的地方,对此很抱歉。


UPDATE:感谢对此事发表评论。我通过所有PrestaShop文件和数据库完成了grep -r。这是100%的PrestaShop问题。这个奇怪的哈希值出现在:

  • 数据库下的 “WATERMARK_HASH”
  • 类/ Image.php
  • 类/ Link.php

全部列表(在终端):

cd YourPrestaShopDirectory 
grep -r WATERMARK_HASH 
+1

Prestashop默认不会这样做。可能是一些模块或覆盖,这是这样做的。您可能想要搜索该哈希字符串的项目文件,并查看是否有代码将其附加到图像链接。 – TheDrot

+0

好的,非常感谢。我很怀疑。你能否提供这个评论作为答案?我会接受它,并upvote。我要对presta中的所有文件做一个grep,并找出那是什么。好主意,它完美地解决了我的问题。 –

+0

我在WATERMARK_HASH下的数据库中发现了这一个。也在classes/Image.php中。这是100%的PrestaShop问题。 –

回答

1

正如我所说这不是一个默认的Prestashop问题,但是有一个由Prestashop制作的模块叫做Watermark。

可能你已经安装了该模块,并且在它的配置中你有Logged-in customers see images without watermark设置为No

如果您在图像上使用水印,那么您应该在页面底部的Preferences -> Images下重新生成图像,以便所有图像也可以生成水印副本。

如果不是,您可以禁用该模块。

相关问题