Jump to content

[Gelöst] Von wo kommen diese Bilder?


Pronux

Recommended Posts

Diese Frage betrifft PS 1.5.5: Wenn ich alle Bilder im Verzeichnis /img/c lösche und danach unter Voreinstellungen -> Bilder die Funktion "Wiederherstellen der Vorschaubilder" laufen lassen, dann werden in das genannte Verzeichnis folgende Bilder kopiert:

post-150787-0-11010800-1380234556_thumb.png

 

Meine Frage: Von wo genau kommen diese Bilder?

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

Hi eleazar,

aufgrund deiner Antwrot bin mir nicht ganz sicher, ob ich die Frage richtig formuliert habe  :wacko:

Es handelt sich bei diesen Bildern ja offensichtlich um "Platzhalter" welche angezeigt werden, wenn für eine Kategorie z.B. kein Bild erfasst wurde, also quasi das default-Bild.

 

Würde ich diese Bilder in diesem Verzeichnis nun ersetzen, dann würden Sie beim nächsten "Wiederherstellen der Vorschaubilder" wieder überschrieben. Daher möchte ich herausfinden, von wo diese Bilder kommen, damit ich diese dann dort ersetzen kann (an der Quelle sozusagen ;-)

 

Bin für jeden Tipp dankbar.

 

ps. /config/xml/<PS-Version>.xml -> gibt es dieses File wirklich, weil ich kann es spontan nicht finden in meinem Shop?

Link to comment
Share on other sites

Die Bilder findest du unter /img/c. Ich habe Sie auch dort gegen eigene ersetzt und sie werden dann bei einer neuen Regenerierung nicht überschrieben. Allerdings musst du bei einem Update aufpassen, bis jetzt wurden die Bilder immer überschrieben. (Mittlerweile sorge ich vor, dass der Ordner beim Upgrade nicht angetastet wird.)

Link to comment
Share on other sites

Also, ich habe es nun selber nochmals unter PS 1.5.5 getestet. Die Quelle aller de-*.jpg Platzhalter-Bilder in verschiedenen Verzeichnissen (wie z.B. das von mir erwähnte /img/c ) ist wie es scheint /img/p/de.jpg

 

Mittels Voreinstellungen -> Bilder -> "Wiederherstellen der Vorschaubilder" werden die Platzhalter-Bilder erstellt oder, wenn "Vorherige Bilder löschen" markiert wurde, werden alle vorhandenen Platzhalter-Bilder überschrieben.

 

Bitte um Comment falls diese Schlussfolgerung falsch ist.

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

Ja und nein. ;)

 

PrestaShop verhält sich wie folgt:

 

Bei der Installation werden die Vorschaubilder für die Demokategorien und -produkte (erkennbar an der vorangestellten Zahl im Namen des Bildes) und die Platzhalter ('Kein Bild vorhanden') für die jeweilige Sprache (erkennbar am vorangestellten Landeskürzel im Namen des Bildes) in den entsprechenden Verzeichnissen abgelegt:

 

c = category

p = products

 

Die von mir oben erwähnte XML-Datei enthält Prüfsummen für jedes Format, um den ordnungsgemäßen Ablauf zu gewährleisten.

 

Im weiteren Verlauf speichert PrestaShop dann beim Anlegen neuer Kategorien automatisch

 

- alle gemäß Matrizen verfügbaren Vorschaubilder für Kategorien im Verzeichnis /img/c mit jeweils

  vorangestellter Kategorie-ID

  (leicht erkennbar auch daran, dass das Standardformat das Wort 'category' im Namen trägt)

 

- alle gemäß Matrizen verfügbaren Vorschaubilder für Produkte in verschachtelten Unterverzeichnissen von 

  /img/p mit jeweils vorangestellter Produkt-ID

 

Diese Matrizen wiederum kann man im Backoffice unter Voreinstellungen/Bilder festlegen und den einzelnen Sparten (Produkte, Kategorien, Hersteller, Lieferanten) zuordnen.

 

Die Unterverzeichnisse in /img/p gliedern sich wie folgt:

 

0 = alle Produkt-IDs von 1-9

1 = alle Produkt-IDs von 10-99

2 = alle Produkt-IDs von 100-999

und so fort ...

 

Bei der Regeneration der Vorschaubilder werden also sowohl die Bilder aus /img/c wie aus /img/p benötigt.

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

Danke für diese ausführliche Antwort. In meinem (hoffentlich letzten) Test heute, wurden bei der Regeneration sämtliche Platzhalter-Bilder (= Bilder welche angezeigt werden wenn bei Kategorie/Produkt keine definiert wurden, mit Dateinamen de-default-*.jpg) in den Verzeichnissen /c/ und /p/ auf der Basis von /img/p/de.jpg ersetzt.

 

Daher mein Fazit:

 

1. Will man die für Kategorien und Produkte standardmässig installierten Platzhalter-Bilder durch eigene ersetzen, muss man einfach das Bild /img/p/de.jpg ersetzen und eine Regeneration durchführen.

 

2. Will man für Kategorien/Produkte unterschiedliche Platzhalter-Bilder, muss man diese in /c/ und /p/ direkt ersetzen, wobei diese danach nicht durch eine Regeneration überschrieben werden dürfen.

 

Wer stimmt mir zu...anyone, anyone? ;-)

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

Ja sicher, Pronux, nur hättest du irgendein Bild von sonstwo her nehmen können. Entscheidend sind nur der Speicherort und die Vorgaben in den Voreinstellungen des BO. :)

 

Wenn dich interessiert, was genau passiert beim Regenieren der Thumbnails, dann empfehle ich dir, dir einfach mal die protected function _regenerateThumbnails in der Datei /controllers/admin/AdminImagesController.php näher anzusehen (ab Zeile 564). Eigewntlich beginnt der ganze Prozess schon mit der function initRegenerate() ab Zeile 396.

 

Die dazugehörigen Definitionen der betroffenen Verzeichnisse findest du in /config/defines.inc.php  ab Zeile 67.

Link to comment
Share on other sites

 

Ja sicher, Pronux, nur hättest du irgendein Bild von sonstwo her nehmen können. Entscheidend sind nur der Speicherort und die Vorgaben in den Voreinstellungen des BO.  :)

 

Da muss ich aber zur Sicherheit nochmals kurz nachhaken: Meinst du damit, dass man via BO definieren kann, welche Platzhalter-Bilder verwendet werden sollen ODER welches Basis-Bild (standard ist /img/p/de.jpg bei DE) bei der Regeneration verwendet werden soll?

 

Ich frage, weil ich eine einfache Lösung für meine Kunden suche, wobei das Ersetzen von /img/p/de.jpg via FTP/BO File Explorer gerade noch geht, manuelle Änderungen an einer Config/Code-Datei für diese Anwendergruppe aber zu kompliziert wäre.

 

Wenn dich interessiert, was genau passiert beim Regenieren der Thumbnails, dann empfehle ich dir, dir einfach mal die protected function _regenerateThumbnails in der Datei /controllers/admin/AdminImagesController.php näher anzusehen (ab Zeile 564). Eigewntlich beginnt der ganze Prozess schon mit der function initRegenerate() ab Zeile 396.

 

Die dazugehörigen Definitionen der betroffenen Verzeichnisse findest du in /config/defines.inc.php  ab Zeile 67.

 

Danke, werde mir es anschauen, wenn denn mal wieder Zeit vorhanden ist...

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