Bilder verlinkt: /images/xyz.png vs. public/theme/images/xyz.png

Thema wurde von Anonymous, 2. Oktober 2022 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    587
    Danke erhalten:
    63
    Danke vergeben:
    254
    Hallo,

    ich habe gerade gesehen, dass ich meine Bilder für den Footer in den Ordner /themes/meinShop/images/ abgelegt habe.
    Beim Aufruf des Shops werden diese dann in das Verzeichnis /public übernommen.

    Ich rufe dann meine Bilder im Footer mit public/theme/images/xyz.png auf.

    Allerdings habe ich gesehen, dass wohl alle Gambio-Shops ihre Bilder ins Rootverzeichnis /images legen und dann die Bilder auf das Verzeichnis /images/ verlinken. Dem entgegen sind meine Bilder dann auf das Verzeichnis public/theme/images/ verlinkt.

    Habe ich einen Nachteil, sollte ich das also ändern?

    Danke und Gruß
     
  2. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Das Verzeichnis public/theme/... ist ein Cache Verzeichnis.
    Deshalb ist es besser die bilder direkt - also unter images/... abzurufen
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    587
    Danke erhalten:
    63
    Danke vergeben:
    254
    #3 Anonymous, 3. Oktober 2022
    Zuletzt bearbeitet: 3. Oktober 2022
    Danke Barbara.

    Ich bin jetzt aber doch etwas irritiert.

    Ich meine irgendwo gelesen zu haben, das eigene Bilder in das Verzeichnis /themes/meinShop/images/ abgelegt werden sollten, um updatesicher zu sein. Normalerweise hätte ich gedacht, dass die Bilder dann über src="/themes/meinShop/images/meinNeuesBild.png" geladen werden müssten.

    Das hatte ich dann aber nicht gemacht, sondern sie aus dem Cache /public/theme/images/meinNeuesBild.png aufgerufen, da sie ja dort auch (/public/theme/images/) vorliegen. Ich bin davon ausgegangen, dass sie dann schneller ausgeliefert werden.

    Wenn ich die Bilder aber mit /images/meinNeuesBild.png verlinke, müsste ich sie erst einmal dort im Verzeichnis (/images) speichern. Da ich nicht mit dem Filemanager arbeite, sie also via FTP in dieses Verzeichnis laden.

    1.) Ist das dann noch updatesicher?

    2.) Macht das dann überhaupt noch Sinn, einen Ordner /themes/meinShop/images/ in meinem Child-Verzeichnis anzulegen?
    Ich meine, die Bilder liegen zwar im Cache, wie Du schreibst, von wo ich sie dann aufrufe, aber der Cache holt sich die Bilder doch aus meinem /themes/meinShop/images/ Verzeichnis. Somit bin ich davon ausgegangen, dass dieser Weg, wie ich die Bilder eingebunden habe, updatesicher ist.

    3.) Wie ist es richtig, bzw. wie sollte man es dann machen?
     
  4. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Die Seiten kommen aus dem Cache - also auch die Bilder, aber wenn die mal im public-Verzeichnis nicht da sind (irgend etwas kaputt, gelehrt und noch nicht neu gefüllt...), dann würden die Bilder gar nciht angezeigt. Holst Du sie aus dem Image-Verzeichnis (bzw. aus dem Verzeichnis in dem sie tatsächlich liegen), findet der Shop die dann dort - auch wenn in diesem Moment die Seite vielleicht eine Sekunde mehr Ladezeit braucht.

    Man sollte seine eigenen BIlder (abgesehen von Artikelbildern und Kategoriebildern, die Gambio automatisch in den entsprechenden Verzeichnissen speichert) in einem eigenen Ordner haben. Schon alleine wegen der besseren Übersicht.
    So hast du Deine Bilder getrennt von den Shopeigenen Bildern und es kann nichts überschreiben oder gelöscht werden, es sei denn Du überschreibst oder löscht selber.

    Ob Du die Bilder aber in /themes/DeinTheme/images/, oder in /images/meinOrdner/ oder in /eigeneBilder/ hochlädst ist dabei ziemlich egal.
    Es sei denn Du möchtest die Bilder über den StyleEditor einfügen, dann würde ich sie aber auch über den Style Editor speichern.

    Der angegebene Pfad muss natürlich zum Bild führen, sonst geht das nicht.
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    587
    Danke erhalten:
    63
    Danke vergeben:
    254
    Barbara - Danke für Deine ausführliche Antwort.
     
  6. markus_wick

    markus_wick Erfahrener Benutzer

    Registriert seit:
    10. Oktober 2018
    Beiträge:
    966
    Danke erhalten:
    214
    Danke vergeben:
    153
    Letztlich ist es schlicht so: Wenn das Bild das erste Mal aufgerufen wird, wird es aus dem themes/meinShop/images/ Verzeichnis oder dem angegebenen Unterverzeichnis geladen - und dann auch im Cache (also /public/theme/images/ abgelegt. Beim nächsten Aufruf kann es aus dem Cache ausgeliefert werden, auch wenn Du es über themes/meinShop/images/ verlinkt hast. Im Cache befindet es sich aber erst, wenn es ein erstes Mal aufgerufen wurde.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    587
    Danke erhalten:
    63
    Danke vergeben:
    254
    #7 Anonymous, 4. Oktober 2022
    Zuletzt bearbeitet: 4. Oktober 2022
    Genau. Wenn ich den Cache lösche rufe ich die Seite immer selber das erste mal auf - so sind die Bilder also im Cache und stehen zur Verfügung.

    Das heißt letztendlich, ist der Cache, aus irgend einem von mir nicht verursachten Grund gelöscht, also leer, und jemand ruft meine Seite auf, so wird das Bild über den Link themes/meinShop/images/ geladen. Vorausgesetzt, meine Bilder sind auf themes/meinShop/images/ verlinkt; danach, bei den nächsten Aufrufen aus dem Cache. So hattest Du es ja, Markus, geschrieben. An dieser Stelle nochmals ein Dank an Dich.

    Bzw., ist der Cache platt (warum auch immer), und ich merke es nicht und die Seite wird von anderer Stelle aufgerufen, so stehen die Bilder erst nach dem zweiten Aufruf zur Verfügung, wenn meine Bilder zum Cache /public/theme/images/ gelinkt sind.

    Letztendlich habe ich zwei Optionen:

    1.) Nach dem Cache leeren den Shop aufrufen.
    2.) Oder, wohl die bessere Wahl, die Links von den Bildern auf das Bilder-Verzeichnis legen. So hatte es ja auch Barbara geschrieben.

    In diesem Zusammenhang abschließend noch die Frage: Ist es besser die Bilder in themes/meinShop/images/ zu legen und dann dahin verlinken, oder besser in das /images Verzeichnis mit dem entsprechenden Link?

    Ich frage deshalb, weil ich gesehen habe, dass die meisten Shops die Bilder, die sie im Footer haben, im /images Verzeichnis abgelegt sind.
     
  8. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Nein, Wenn Du die Bilder aus dem Cache-Verzeichnis lädst, dann sucht der Shop die nicht woanders.
    Er sucht nur im Cache-Verzeichnis und in dem Pfad, den Du angegeben hast.
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    587
    Danke erhalten:
    63
    Danke vergeben:
    254
    Das ist schon klar.

    Markus hatte geschrieben:
    Ich habe es so verstanden, dass die Bilder nach dem Leeren des Cache beim ersten Aufruf aus dem gelinkten Verzeichnis kommen und gleichzeitig in den Cache geladen werden. Da mein Link auf den Cache zeigt, ist das Bild erst einmal nicht da. Das Bild wird wie gesagt aber beim ersten Aufruf von der Seite gleichzeitig in den Cache geladen, unabhängig von meinem Link, der kann hinzeigen wo er will, der Cache füllt sich mit den Bildern aus dem Verzeichnis themes/meinShop/images/.

    Bei weiteren Shop-Aufrufen werden die Bilder dann aus dem Cache geladen, egal, wo mein Link hinzeigt.

    Wie wohl der gesamte Shop zum großen Teil nur noch aus dem Cache zusammengebastelt wird, vermute ich einfach mal.
     
  10. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    nicht unbedingt.
    Der Shop lädt die originale Seite mit dem Code und Text der dort steht. Steht da als Bildpfad das Cache-Verzeichnis, dann versucht der Shop das von dort zu laden.
    Es wird aber nichts gefunden und wenn nichts gefunden wird, kommt auch nichts in den Cache.
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. August 2021
    Beiträge:
    587
    Danke erhalten:
    63
    Danke vergeben:
    254
    #11 Anonymous, 4. Oktober 2022
    Zuletzt bearbeitet: 4. Oktober 2022
    Barbara, leg doch testweise mal ein Bild in das Verzeichnis themes/meinShop/images/.

    Dann im Admin "Cache für Seitenausgabe leeren" ausführen. Danach siehst Du das Bild im Verzeichnis "public/theme/images/". Das Bild erscheint also im Cache, auch ohne einen Link.

    Er legt das Bild sofort in den Cache nach dem Cache leeren, man muss noch nicht einmal die Seite aktualisieren.

    @Edit: Anders verhält es sich, wenn man ein Bild in das Verzeichnis /images legt. Hier ist wohl der Link notwendig, um das Bild zuerst mal aufzurufen, wonach es dann wohl nach dem Aktualisieren der Seite in den Cache kommt - hab's nicht ausprobiert, vermute ich mal.

    Aber, die genauen Zusammenhänge kenne ich nicht, da bin ich nicht tief genug drin.