2017-09-21 16 views
0

PrestaShop(1.6.1.4)の画像は、ログアウトしたユーザーだけが見ることができます。ログイン後、イメージは消えます(フロントエンド)。ログアウトしたときに、画像のURLは(例)以上何です:ランダムなハッシュを持つ追加イメージファイル?

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は画像URLに-X6sI2y9CbJを追加します。


さらに調査したところ、一部の画像(約10%)が実際にサーバー上に同じエンディングを持つ物理ファイルが追加されていることがわかりました。これらは同じ画像(重複)であるため、これはメモリ効率的ではありません。したがって、いくつかの質問:

1)PrestaShopがログインしているユーザーの画像URLを変更するのはなぜですか?それはhtaccessファイルでは解決しないのですが、物理的なファイルは、それらの「ハッシュ」の画像はすべてのケースで作成されていない理由は、その奇妙な「ハッシュ」

3 *)任意のアイデア、と本当にあるのはなぜ

2)ログインしているフロントユーザにはほとんど画像が表示されません。この質問は、システムやプログラミングの目的には厳密には関係しないので、これが尋ねる場所でないならば、それについては残念です。


UPDATE:コメントを感謝。私はすべてのPrestaShopファイルとデータベースを通してgrep -rをやった。これは100%PrestaShopの問題です。

  • データベース
  • "WATERMARK_HASH" の下のクラス/ Image.php
  • クラス/ Link.php

(ターミナル下)全リスト:

cd YourPrestaShopDirectory 
grep -r WATERMARK_HASH 
この奇妙なハッシュはに表示されます。
+1

Prestashopはデフォルトでこれを行いません。いくつかのモジュールまたはこれを行うオーバーライドかもしれません。このハッシュ・ストリングのプロジェクト・ファイルを検索し、それをイメージ・リンクに追加するコードがあるかどうかを確認したい場合があります。 – TheDrot

+0

OK、ありがとうございます。私は疑わしい。このコメントを回答として提供していただけますか?私はそれを受け入れ、upvote。私はprestaのすべてのファイルについてgrepを行い、それが何であるかを調べるつもりです。素晴らしいアイデアは、私の問題を完全に解決します。 –

+0

私はこれをデータベースのWATERMARK_HASHで見つけました。クラス/ Image.phpでも。これは100%PrestaShopの問題です。 –

答えて

1

私が言ったように、デフォルトのPrestashopの問題ではありませんが、PrestashopがWatermarkというモジュールを作っています。

おそらくあなたはそのモジュールをインストールしており、設定ではLogged-in customers see images without watermarkNoに設定されています。

イメージにウォーターマークを使用する場合は、ページの下部にあるPreferences -> Imagesのイメージを再生成し、すべてのイメージにウォーターマーク付きコピーが生成されるようにする必要があります。

そうでない場合、そのモジュールを無効にすることができます。

関連する問題