Shop Hosting
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Content Bilder optimieren - Komprimieren

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Content Bilder optimieren - Komprimieren
    Antwort #15 am: 23. Dezember 2019, 22:15:44
    [...]
    Ist ja bei Bitpalast, oder?
    [...]

    Also bei mir ist es installiert.

    [...]
    Zumindest steht da was von, wenn man auf server_info im backend klickt.
    [...]

    Ja wenn unter Hilfsprogramme -> Server Info das Modul "imagick" angezeigt wird und enabled ist könntet du es in PHP nutzen.

    Gruss
    Hanspeter

    sEdeMi

    • Mitglied
    • Beiträge: 142
    Re: Content Bilder optimieren - Komprimieren
    Antwort #16 am: 23. Dezember 2019, 23:09:39
    An imagick führt wohl kein Weg vorbei, sowohl Komprimierung als auch Tempo betreffend.

    Einspruch: 10.000.000 Bilder in 8 Std.. Mach das mal nach mit Deinem imagick. ;)

    Tante Uschi

    • Fördermitglied
    • Beiträge: 279
    Re: Content Bilder optimieren - Komprimieren
    Antwort #17 am: 23. Dezember 2019, 23:32:04
    Das ist jetzt stark vereinfacht erklärt, hilft aber den Mechanismus dahinter zu verstehen. In Echt kommt zB. innerhalb der Blöcke noch ein zweiter Algorithmus zum Komprimieren zum Einsatz.

    Falls jemand Interesse hat, wie genau das ganze funktioniert und was dabei auch schief gehen kann, dem empfehle ich folgendes Video:

    David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast
    https://www.youtube.com/watch?v=7FeqF1-Z1g0

    Ich mache es z.B. so, dass ich die Bilder vorher komprimiere, hochlade, durch das modified Tool jage und anschließend die Bilder im großen Format vom Ordner original laden lasse, die Kleinen dann eben aus Thumbnail und Info, das Ganze mit Lazy-Load zusammen ergibt einen ganz passablen Kompromiss zur originalen Variante, nicht perfekt, aber im Moment sehr tauglich.

    Außerdem möchte ich anmerken, dass Lighthouse von Google nicht zu empfehlen ist, was die Bilder Optimierung betrifft, das ist einfach grenzenlos albern, was da vorgeschlagen wird, besser ist es z.B. diese Seite zu nehmen:

    https://webspeedtest.cloudinary.com/

    Ich wünsche Euch Allen ein besinnliches Weihnachtsfest

    Duncan

    • Fördermitglied
    • Beiträge: 177
    • Geschlecht:
    Re: Content Bilder optimieren - Komprimieren
    Antwort #18 am: 24. Dezember 2019, 10:22:56
    An imagick führt wohl kein Weg vorbei, sowohl Komprimierung als auch Tempo betreffend.

    Einspruch: 10.000.000 Bilder in 8 Std.. Mach das mal nach mit Deinem imagick. ;)
    Unqualifizierte Aussage... Wer bei 10.000.000 Bildern 8 Stunden wartet ist selber schuld.
    Da macht man sich 5 Minuten Gedanken über die Lastverteilung und schon ist das ein Problem für die Mittagspause.

    Ich glaube auch nicht, dass hier auch nur einer mit 10 Mio Bildern in seinem Shop arbeitet, diese Klientel setzt SAP, Dynamics oder ähnliches ein. Es geht um praxisnahes Arbeiten mit vielleicht einem Dutzend,  ein paar Hundert oder ein paar Tausend Bildern.
    Und genau hier ist imagick einfach vorteilhafter als gd, bei gleichzeitig relativ geringen Ansprüchen an Hardware, Software und Manpower.

    Vielleicht sollte sich das Team mal Gedanken über eine pauschale Implementierung machen,
    (WENN es der Server anbietet, DANN automatisch imagick benutzen)

    Gruß

    sEdeMi

    • Mitglied
    • Beiträge: 142
    Re: Content Bilder optimieren - Komprimieren
    Antwort #19 am: 24. Dezember 2019, 10:49:37
    Was heißt hier unqualifizierte Aussage?

    Meinst nicht Du hättest vor dieser dümmlichen Aussage mal fragen sollen wie ich auf 10 Mio Bilder komme?

    Ich wills Dir aber gern verraten um Deinen Wissenshorizont zu erweitern, dass Du zukünftig nicht nochmal so unqualifizierte Aussagen triffst.

    Anders als jeder andere hier, verwende ich nicht nicht nur die 3 verschiedenen Bildgrößen, sondern Geräte abhängig und abhängig von der jeweiligen Ansicht/Seite im Shop die jeweils passenden Bildgrößen. Bei mir wird also nichts skaliert, sondern genau das Bild bereitgestellt, das für das jeweilige Gerät und Ansichtsgröße benötigt wird. Dadurch erhöht sich zwar die Gesamtzahl an Bildern und würde die Ladezeit bei Zugriff auf das jeweilige Bild verzögern, aber um das zu verhindern liegen meine Bilder in separaten Verzeichnissen mit den jeweiligen Bildgrößen.

    Meine Bilder werden aber nicht nur in die jeweilige Größe gebracht, sondern zusätzlich harmonisiert. Will heißen in das gleiche Längen-/Breitenmaß gebracht, also bei Bedarf quadratisch. Alles automatisch.

    Hört sich nach viel Aufwand an, aber läuft mittels Smarty Plugin alles vollautomatisch. Das einzige was ich, bzw. ein Cron machen muss, ist gelegentlich die Bilder optimieren und das mache ich via jpegoptim. Also alles praxisnah. Die Menge an Artikeln machte es halt nötig vom Standard abzuweichen, wobei sich meine Methode in jedem anderen Shop auch verwenden lässt. Man braucht halt nur dieses Smarty Plugin und keine extra Implementierung von PHP Funktionen oder einem Extra Script für die Bilder Optimierung.

    Also schalte das nächste Mal die Birne ein oder frage vorher nach bevor Du solche Kommentare abgibst!

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: Content Bilder optimieren - Komprimieren
    Antwort #20 am: 24. Dezember 2019, 19:34:49
    ...
    ...und in der gd lib Advanced Datei ist der Teil fürs schärfen drin, der in 2.0.5.0 nun wohl Standard ist.
    ...

    Leider nein.
    Da ist zwar eine neue Funktion namens sharpen() inklusive auto_include() in der *_advanced-Klasse, aber die Methode wird nicht benutzt, bzw. ist ihre Verwendung auskommentiert (oder ich durchblicke einen Zusammenhang nicht).
    Ich habe dazu in Ticket #1600 einen Kommentar gepostet.

    @sEdeMi
    Du bist mir hier im Forum schon öfter mit rudem Ton aufgefallen (z.B. im Falke-Konten-Thread). Bislang habe ich mich zurückgehalten, was sich hiermit ändern wird.
    Was ist mit dir los ? Mir scheint du hältst dich für etwas was du nicht bist, sonst würdest du nämlich mit anständigem Umgangston und mehr Sanftmut kommunizieren. Du scheinst Aussagen von anderen Community-Mitgliedern sehr schnell als Zweifel an deinen Fähigkeiten anzusehen und reagierst in nicht duldbarem Ton. Am Besten bringst du deine Psycho-Probleme zum Onkel Doktor anstatt dich hier vermeintlich zu profilieren.
    Auch tönst du öfter mit (vermeintlichem ?) Wissen und Können herum, teilst dann dein Wissen aber nicht. Du hast offensichtlich den Community-Gedanken nicht verstanden und bist mit solchen Auftritten fehl am Platz.
    Noch einmal solch ein Auftritt und ich werde ein Wort dafür einlegen, daß du eine Auszeit hier im Forum bekommst.
    Vorbeugend sei gesagt:
    Auch wenn du dich jetzt genötig fühlen solltest eine Erwiderung zu posten, ich werde nicht darauf eingehen.

    Gruß,
    noRiddle

    Tante Uschi

    • Fördermitglied
    • Beiträge: 279
    Re: Content Bilder optimieren - Komprimieren
    Antwort #21 am: 25. Dezember 2019, 01:00:13
    Dadurch erhöht sich zwar die Gesamtzahl an Bildern und würde die Ladezeit bei Zugriff auf das jeweilige Bild verzögern, aber um das zu verhindern liegen meine Bilder in separaten Verzeichnissen mit den jeweiligen Bildgrößen.

    Entschuldigung das ich am Weihnachtsabend zu so später Stunde noch eine Frage an Dich habe, aber könntest Du das vielleicht näher erläutern, ich zerbreche mir ernsthaft seit gestern den Kopf darüber was der Vorteil der Ladezeit sein soll, wenn man z.B. sein Handy dreht, dass bedeutet dann ja eigentlich nichts anderes, als dass diese Ordner dann jeweils nachgeladen werden müssen, oder wie soll das aussehen?

    Ansonsten schließe ich mich noRiddle absolut an, es zeugt nicht gerade von Selbstbewusstsein oder gar von Professionalität wenn man seinem Gegenüber am Vorweihnachtstag dermaßen unprofessionell eine Klatsche verpasst, nun sei es drum, würdest Du sEdeMi mir also bitte die „Birne“ etwas enteisen und mir erklären was der Vorteil der Ladezeiten bezüglich eines Displayswitches sein soll?

    Und vielleicht wärst Du so nett mir zu erklären, wie Du das Problem löst, was das zuschneiden der Bilder betrifft, bekanntlich ist es recht schwer aus automatischen Bildern im Rechteckformat ein Quadrat als anständiges Produktbild zu generieren, ich meine durch verschiedene Kamera-Bild-Größen geknipste Bilder haben ja nicht unbedingt den Hinweis in ihren Metadaten wo nun der Fokus genau liegt, dies also automatisch machen zu lassen, dieser Ansatz würde mich ebenfalls brennend interessieren?

    Vielleicht schaffst Du es dieses Mal das Ganze so zu formulieren, dass eine entsprechend verwertbare Community-Gedanken-Version dabei herauskommt?

    In diesem Sinne: Eine geruhsame Weihnachtszeit wünsche ich Euch Allen :)

    sEdeMi

    • Mitglied
    • Beiträge: 142
    Re: Content Bilder optimieren - Komprimieren
    Antwort #22 am: 25. Dezember 2019, 09:01:39
    @Tante Uschi

    Gerne will ich Deine Fragen beantworten. Erlaube mir aber bitte vorab zu hinterfragen, warum es anderen erlaubt ist die Qualifikation eines offensichtlich in diesem Forum niedrig gestellten zu diskreditieren und einem das Recht abgesprochen wird sich dagegen zu wehren? Zumal ich lediglich dazu aufgefordert habe man möge vor einer Herabwürdigung zuerst darüber nachdenken möchte bevor man "unqualifizierte" Kommentare abgibt. Oder gibt es in diesem Forum eine besondere Legitimation sich mehr herausnehmen zu dürfen, wenn man als Fördermitglied betitelt wird?  Sorry, wenn ich das voranstellen muss, aber wenn nun gleich 2 augenscheinlich "Höhergestellte" Forenmitglieder sich anmaßen dürfen Dritte maßregeln dürfen, aber als Betroffener einem dieses Recht abgesprochen wird, hat das nichts mehr mit Forenregeln oder einfach der Netiquette was zu tun. Wenn ich mit dem Sprachgebrauch "Birne" anstelle von Gehirn bereits die selbsternannten Obrigkeiten erzürnt haben sollte, dann Asche auf mein Haupt!

    Um nun Deine Frage zu beantworten, was es mit der Ladezeit auf sich haben soll, ist es am einfachsten auf ein Beispiel zu verweisen, das Du kennen dürftest. Wenn Du den Cache aktivierst, werden in Folge dessen eine Unmenge an ge-cache-ten Objekten erstellt. Würden diese Objekte alle in nur 1 Verzeichnis abgelegt werden, wäre nicht rel. schnell das Limit der max. möglichen Dateien in 1 Verzeichnis erreicht. Weitaus schwerwiegender wären aber die Verzögerungen der Zugriffszeiten auf diese Objekte und der eigentliche Vorteil des Cachens würde zunichte gemacht werden. Aus Performance Gründen splittet, bzw. verteilt man eine derart große Menge an Dateien auf mehrere Unterverzeichnisse, was in meinem Fall mit den vielen Bildern nicht anders ist. Das mal zunächst, was die Ladzeiten an sich anbetrifft und komplett losgelöst ist von allem anderen. Das hat mit Drehen des Handys überhaupt nichts zu tun, sondern ist nur eine zwingende Maßnahme, um eine große Menge an Dateien noch handelbar zu machen und die Performance nicht darunter leidet.

    Die Sache wie ich das mit den Bildern bei mir mache, ist weitaus simpler als Du denkst und alles andere als kompliziert. Ich verstehe aber, warum Du Schwierigkeiten hast es zu verstehen. Aber zunächst mal vorweg, bei mir wird nichts nachgeladen. Ich verwende auch keine Scripte, die irgendwas machen müssen damit meine Bilder in der passenden Größe geladen werden können. Meine Bilder werden genauso geladen wie anderswo auch, wenn man von Funktionen einmal absieht, die dem optimierten Laden von Bildern dienen (Lazy Load).

    Der Vorteil den ich voranstelle, ergibt sich aus einem ganz anderen Zusammenhang und ist fast schon Off Topic. Aber nachdem Du mich darum gebeten hast eine verwertbare "Community-Gedanken-Version" zu verwenden, will ich das gern näher erläutern.

    Du und vermutlich auch die  99.99% aller anderen die ein responsives Design verwenden, verstehen unter Responsive das, was es eigentlich nicht ist. Responsive bedeutet mehr als nur unter Zuhilfenahme von Media Queries alles nur zu skalieren oder im Bedarfsfall einfach auszublenden. Was Du vermutlich nicht oder vielleicht doch weißt, ist der Umstand, dass es mehr als nur DIE EINE Responsive Methode gibt. Neben der sog. "RD-Methode" (RD == Responsive Design) gibt es noch eine weitere Methode mit Namen "RESS" (RESS == Responsive Design with Serverside Includes). Beide Bezeichnungen sind in der Schreibweise standardisiert und nahezu zeitgleich vom ebenso gleichen Author vor fast 10 Jahren so betitelt und beschrieben.

    Wenn die weitverbreitete RD-Methode nur skalieren und ausblenden kennt, besticht die RESS Methode durch eine bedarfsgerechte Bereitstellung von Code jeder Art in Abhängigkeit zum verwendeten Gerät (Desktop, Tablet, Smartphone, usw.). Die RESS Methode kann aber das Gleiche (mit Media Queries), was auch die RD-Methode kann, aber bei weitem nicht in dem Umfang und auch nicht zwingend, bzw. nur optional.

    Wenn man nun also mit der RESS Methode egal welchen Code oder gar die Funkionen einer Anwendung Geräteabhängig steuern kann, dann hat dies massive Auswirkung, wovon besonders, aber nicht nur, mobile Geräte profitieren. Noch eklatanter sind die Auswirkungen, wenn ein z.B. Smartphone mit schlechtem Netzanschluss verwendet wird, also im Worst Case ein alterschwaches Handy mit 3 oder gar nur 2 G Empfang. Bei der RD-Methode hat so ein Nutzer keine Wahl. Er bekommt immer den kompletten Code einer Seite inkl. der für dieses Gerät viel zu großen Bilder, die dann herunterskaliert werden müssen.

    Bei der RESS MEthode sieht das ganz anders aus. Beim Aufruf einer Seite entscheidet der Webserver was der Benutzer braucht und bekommt deswegen im Falle eines Smartphones bis zu 60% weniger Code und Daten, die übermittelt werden müssen. Dass sich das eklatant auf die Ladezeiten auswirkt, sollte selbsterklärend sein.

    Dieser Vorgang, wie die RESS MEthode das macht, mag sich kompliziert anhören, zumal die Angabe "Serverside Includes" implizieren mag, dass man eine Gerätedatenbank dafür brauchen würde. Dem ist aber nicht so und diese Bezeichnung stimmt so auch nicht mehr, bzw. galt bei der inzwischen veralteten Definition nur als theoretische Grundlage. Letztendlich basiert die Funktionsweise zumindest in meinem Fall auf 6 Zeilen PHP Code und aus Bequehmlichkeit zusätzlich aus einem Smarty Plugin, das aber auch nur aus 6 Zeilen Code besteht.

    Damit sich der Kreis nun mit den besagten Bildern schließt, ist es nun so, dass ich diese RESS Methode u.a. dazu verwende, um geräteabhängig die Bilder in der für das jeweilige Gerät abhängige Bild in der dafür passenden Größe ausliefere, was durch das Smarty Plugin ermöglicht wird. Dazu hänge ich im jeweiligen Template einfach die gewünschte Größe in Pixel Angaben an die Smarty Variable für den Bildpfad, verwende als Ausgangsbild aber immer die ORIGINAL_IMAGES. Die anderen Bilder brauche ich nicht, bzw. sind deswegen nicht vorhanden.

    Wenn ich angegeben habe, dass meine Bilder nicht skaliert werden (müssen), dann gilt das mit einer Einschränkung. Bei der Handhabe eines Smartphones oder Tablet gibt es eine aus meiner Sicht natürliche Handhabe. Handhabe heißt, ein Smartphone nutzt man außer bei Videos für gewöhnlich vertical und ein Tablet horizontal. Das mag der Eine oder andere sicherlich anders sehen, ich sehe es so. Unter dieser Maßgabe schließe ich es aus, dass man meine Designs unter Drehung in eine für das jeweilige Gerät "unnatürliche" Stellung bringt und bediene mich dafür mit einem einfachen Media Query. Diese erzwungene Nutzung erspart mir und dem Nutzer eine Unmenge an Code und vor allem das unnötige Skalieren der Bilder. Auch wenn es wie eine Einschränkung der Nutzung wirken mag, profitieren meine (mobilen) Nutzer ungemein davon. Nicht zuletzt auch, dass mir Google (fast) nur schnelle Ladezeiten bei der demnächst in allen Chrome Browsern erscheinenden Anzeige für eine gute Nutzererfahrung attestiert. Letzteres ist dann der Nachweis und Bestätigung dafür, dass meine seit vielen Jahren eigenwillig wirkende Arbeitsmethoden richtig ist.

    Last but not least zu Deiner Frage wie ich das mit den quadratischen Bildern mache. Auch hierzu dient mir das. o.g. Smarty Plugin, das für die Bildgrößen Berechnung eine zusätzliche Image Klasse verwendet. Wie das mit den quadratischen Bildern im Detail funktioniert, kann ich Dir leider nicht sagen, ist in der Umsetzung aber vergleichsweise einfach. Dazu werden aber weder Meta Daten noch sonst irgendwelche aufwendigen Mechanismen benötigt, sondern einfach nur die Pixelangaben. Damit das mit den Pixelangaben aber funktioniert und das Bild nicht verzerrt wird, ist die Maßgabe für die zu berechnende Größe des jeweiligen Bildes das Maß für die längste Seite. Will ich also ein Bild mit 640x480px quadratisch machen, gebe ich zunächst den Wert für das längste Maß vor, also z.B. x320 und dann die x/y Werte für die Gesamtgröße, sodass ich für dieses Beispiel 320x320px angebe. Dabei wird das Bild aber nicht verzerrt, sondern der Bereich für die kürzere Seite einfach mit einer auswählbaren Hintergrundfarbe aufgefüllt. Für Bilder mit einem einfarbigen Hintergrund ideal, wo man überhaupt keinen Unterschied sieht. Bei allen anderen Arten von Motiven, wie einer Fotografie ergibt sich nur ein etwaiger optischer Nachteil, aber das liegt im Auge des Betrachters. Die Qualität, bzw. das Motiv des Bildes bleibt unangetastet.

    So, ich hoffe nunmehr Deine Fragen hinreichend beantwortet zu haben?

    Tante Uschi

    • Fördermitglied
    • Beiträge: 279
    Re: Content Bilder optimieren - Komprimieren
    Antwort #23 am: 25. Dezember 2019, 21:36:53
    @sEdeMi

    Vielen Dank, für die ausführliche Ausführung, das hilft mir tatsächlich weiter.

    Schönen Abend

    Tante Uschi

    • Fördermitglied
    • Beiträge: 279
    Re: Content Bilder optimieren - Komprimieren
    Antwort #24 am: 26. Dezember 2019, 00:34:26
    Gerne will ich Deine Fragen beantworten. Erlaube mir aber bitte vorab zu hinterfragen, warum es anderen erlaubt ist die Qualifikation eines offensichtlich in diesem Forum niedrig gestellten zu diskreditieren und einem das Recht abgesprochen wird sich dagegen zu wehren? Zumal ich lediglich dazu aufgefordert habe man möge vor einer Herabwürdigung zuerst darüber nachdenken möchte bevor man "unqualifizierte" Kommentare abgibt. Oder gibt es in diesem Forum eine besondere Legitimation sich mehr herausnehmen zu dürfen, wenn man als Fördermitglied betitelt wird?  Sorry, wenn ich das voranstellen muss, aber wenn nun gleich 2 augenscheinlich "Höhergestellte" Forenmitglieder sich anmaßen dürfen Dritte maßregeln dürfen, aber als Betroffener einem dieses Recht abgesprochen wird, hat das nichts mehr mit Forenregeln oder einfach der Netiquette was zu tun. Wenn ich mit dem Sprachgebrauch "Birne" anstelle von Gehirn bereits die selbsternannten Obrigkeiten erzürnt haben sollte, dann Asche auf mein Haupt!

    Ich habe lange überlegt ob ich auf diesen von Dir verfassten Post eingehen soll oder ob ich es lasse, nun Anhand meiner Antwort jetzt, kannst Du meine Entscheidung sehen.

    Wie in Gottes Namen kommst Du darauf niedrig gestellt zu sein, weil ein Fördermitglied Dich kritisiert, ich habe für mich ganz freiwillig entschieden die Männer zu unterstützen und den PayPal Knopf gedrückt, weil ich sehr sehr dankbar bin eine wirklich extrem gute Shopsoftware zu bekommen, die es mir ermöglicht daraus alles zu basteln. Ich bin groß geworden mit xtc und habe auch Ecombase mit erlebt und all die Höhen und Tiefen, letztes Jahr hat mir allinkl mitgeteilt, dass 5.6. abgeschalten wird und ab da schob ich extrem Panik, ich hab überlegt was soll ich machen und weißt Du was dabei raus kam ein Versuch Joomla ein Versuch Typo3 ein Versuch Wordpress, ich bin bald durchgedreht ! Zum Schluss habe ich überlegt was ich am besten kann und das ist xtc fertig da gibt es nichts vergleichbares also hab ich geschaut WER kann es noch im alten Stil und da bin ich, mein Account hier ist Uralt und nie habe ich viel geschrieben UND jetzt kommt es ich habe mir gesagt wenn dann bleibe ich bei dem was ich kann "Schuster und Leisten" und so und hab alles komplett neu aufgesetzt mit modified 2.04.  ich bin noch gar nicht fertig kommt die 2.05.

    EDITH by TOMCRAFT VERSION BERICHTIGT SIEHE FORENREGELN (SCHERZ) :)

    und weil mich das eben so glücklich macht das mein mir "angeborenes" xtc einen so tollen Nachfolger hat, hab ich schlicht und ergreifend auf das Knöpchen gedrückt und eine Spende hinterlassen (sicherlich nicht die letzte) und dafür bekam ich das Fördermitglied, ich habe nicht darum gebeten noch war mir dieser von Dir genannte Obrigkeitsstatus ein Ziel.

    Du bist ein schlaues Kerlchen, aber Deine Arroganz ist erschreckend, tut mir leid Dir das so sagen zu müssen, aber es ist so.

    Also mein Guter, komm ein wenig runter auf die Tatsachen und ein wenig zurück von "Obrigkeit" drück den Spendenknopf, erfreue Dich daran und begreife, dass wir hier diejenigen sind die vorne keiner sieht, oder glaubst Du das die Kunden (Gretajugend) sich dafür interessieren, woher all die lustigen Seiten kommen mit denen sie "flexen" können?

    Wir sind eine Gemeinschaft und zwar eine die zusammenhalten muss und nicht sich selbst spalten sollte.

    Zu Deinem zweiten Teil, nein mir war es völlig unbekannt, dass es ein RSS gibt, aber ich verstehe jetzt so einige Dinge besser die ich gesehen habe, Google findet meine Seite auch total toll was die Ladezeit betrifft, dennoch, kann man ja noch mehr heraus holen und so stellt sich mir eben die Frage, critical Image von Lazy Load technisch umzusetzen ohne Servereinfluss DAS wäre noch eine Nummer.

    Ich hoffe Du verstehst was Schwarmintelligenz heißt nun etwas besser und das wir am Ende alle auf dem selben Baum sitzen nur sollte da keiner sinnfrei an seinem Ast rum sägen.

    gesegnete Weihnachtszeit wünsche ich Dir.

    Dieser Eintrag wurde musikalisch begleitet von:

    Pachelbel's Canon in D

    https://www.youtube.com/watch?v=qVn2YGvIv0w

    Tante Uschi

    • Fördermitglied
    • Beiträge: 279
    Re: Content Bilder optimieren - Komprimieren
    Antwort #25 am: 26. Dezember 2019, 01:02:42
    Anleitung wie ich es mache und die besten Ergebnisse bei Google erziele:

    1. alle Bilder bevor sie auf den Server geladen werden über diese Seite "ziehen":
    https://www.websiteplanet.com/de/webtools/imagecompressor/

    2. im Template an entsprechender Stelle in die produkt info folgendes einfügen/ersetzen:

    Code: XML  [Auswählen]
    <img itemprop="image" src="{$PRODUCTS_IMAGE|replace:"info_images":"thumbnail_images"}" srcset="{$PRODUCTS_IMAGE|replace:"info_images":"thumbnail_images"} 320w, {$PRODUCTS_IMAGE} 640w, {$PRODUCTS_IMAGE|replace:"info_images":"original_images"} 900w" alt="{$PRODUCTS_NAME|onlytext}" title="{$PRODUCTS_NAME|onlytext} - {$more_images_data.PRODUCTS_IMAGE_DESCRIPTION}" sizes="(min-width: 51.2666em) 66vw, 100vw"/>

    &

    Code: XML  [Auswählen]
    {if $more_images_data.PRODUCTS_IMAGE_DESCRIPTION}<div class="image-description">{$more_images_data.PRODUCTS_IMAGE_DESCRIPTION}</div>{/if}

    <img src="{$tpl_path}img/background-bildrand.gif" data-lazy-load-srcset="{$more_images_data.PRODUCTS_IMAGE|replace:"info_images":"thumbnail_images"} 320w, {$more_images_data.PRODUCTS_IMAGE} 640w, {$more_images_data.PRODUCTS_IMAGE|replace:"info_images":"original_images"} 900w" alt="{$PRODUCTS_NAME|onlytext}" title="{$PRODUCTS_NAME|onlytext} - {$PRODUCTS_IMAGE_DESCRIPTION}"/>

    <noscript><a title="{$PRODUCTS_NAME|onlytext}"><img class="img-responsive" src="{$more_images_data.PRODUCTS_IMAGE|replace:"info_images":"original_images"}" alt="{$PRODUCTS_NAME|onlytext}" /></a></noscript><div></div>
                               {assign var=zaehl value=$zaehl+1}
                    {/if}

    3. eine Datei erstellen mit dem Namen lazyload.min.js mit folgendem Inhalt:

    Code: Javascript  [Auswählen]
    var cHeight=0;$("#carousel-example-generic").on("slide.bs.carousel",function(e){var t=$(e.relatedTarget).find("img");$activeItem=$(".active.item",this),0==cHeight&&(cHeight=$(this).height(),$activeItem.next(".item").height(cHeight));var a=t.data("lazy-load-srcset");void 0!==a&&""!=a&&(t.attr("srcset",a),t.data("lazy-load-srcset",""))});

    Bei Fragen einfach fragen, ich stell Euch gern auch ein Paket zusammen, das @sEdeMi ist Community-Gedanke. ;)

    sEdeMi

    • Mitglied
    • Beiträge: 142
    Re: Content Bilder optimieren - Komprimieren
    Antwort #26 am: 26. Dezember 2019, 10:42:03
    Ich habe lange überlegt ob ich auf diesen von Dir verfassten Post eingehen soll oder ob ich es lasse, nun Anhand meiner Antwort jetzt, kannst Du meine Entscheidung sehen.

    Danke, aber als Reaktion wollte ich eigentlich nicht schon wieder eine Belehrung bekommen und vor allem nicht in Sachen Community Gedanken und noch weniger den Vorwurf der Arroganz. Fast wirkt es schizophren, lobst mich einerseits, haust mir aber schon wieder ein negativ besetztes Wort um die Ohren. Irgendwie passt das nicht zusammen mit Deinem ach so hoch gelobten Community Gedanken. Ich rechne es Dir aber hoch an, dass Du die Community Fahne versuchst hochzuhalten.

    Wenn Du die XTC Szene dem Vernehmen nach so lange zu kennen glaubst, hat Dich Dein Glaube an diesen Community Gedanken dem Anschein nach aber blind gemacht und Du merkst nicht, dass Du ein "totes Pferd" reitest. Nicht was den Community Gedanken anbetrifft, sondern dieses Shop System. Die Todesglocken läuten seit "Bellendorf" furchtbar laut, es hört nur keiner. Richte Deinen Blick auf das Marktumfeld rings um den Modified Shop und Du wirst feststellen, dass da eigentlich und das schon seit Jahren nichts mehr ist. Wenn selbst die Entwickler dieses Shop Systems in ihrem neuen Shop eine Domain Abfrage für den Kauf eines Moduls machen, was ja nicht wirklich für den Community Gedanken spricht und noch weniger für die GPL, solltest Du vielleicht einen Anreiz dafür bekommen, um das große Ganze zu verstehen, dass das Pferd bereits schimmelt.

    Nichtsdestotrotz will ich Deinen gemeinschaftlichen Gedanken mit dem Code Beispiel unterstützen, muss diesen aber korrigieren, weil damit wie auch schon im Original absolut nichts gewonnen ist. Leider schleppt man auch in der aktuellen Version, bzw. im neu hinzugekommen responsiven Template die Fehler aus früheren Version mit. Das ist aber keine Glaubensfrage, ob und was daran falsch ist, sondern lässt sich faktisch belegen.

    1.)  Dein Code Beispiel ändert absolut nichts an der Datenmenge, wenn man von dem externen Optimieren der Bilder mal absieht. Deine hinzugefügten Angaben zur Größe eines Bildes sind obsolet und stehen im Widerspruch zu den CSS Angaben, die diese die HTML Größen Attribute ohnehin überschreiben. Letztendlich ist das Ergebnis das Gleiche wie unverändert. Die Bilder müssen nach wie vor bedingt durch die "RD-Methode" skaliert werden und noch viel schlimmer, jedes Gerät bekommt das gleiche Bild. Smartphones müssen also immer noch die viel zu großen Bilder für Desktops laden. Das einzige positive ist der Schnipsel für das Lazy Load, aber diese Funktion unterscheidet sich nicht wesentlich vom Original, bzw. macht das Gleiche. Bringt also nüscht.

    2,)  Die RD-Methode erlaubt keinen großen Spielraum, um vor allem die Datenmenge zu reduzieren, sodass auch die Möglichkeiten sehr begrenzt sind etwas verbessern zu können. "A bisserl was " geht aber immer noch. Deswegen hier mein Korrekturvorschlag.

    I.) Das komplette <noscript> Gedöns bei allen Bildern entfernen. Funktioniert nicht so wie soll, ist deswegen unnötiger Code, muss aber trotzdem gerendert werden.

    II.) Javascript ist eine Standard Funktion in jedem Browser, die ebenso standardmäßig aktiv ist. Wer JS bewusst ausschaltet, weiß warum er nicht mehr alles in einer Webseite so sieht wie sie aussehen sollte. Anteil derer, die bewusst ohne JS unterwegs ist geschätzt 0,001 %. Selbst wenn es ein paar Promille mehr sind, steht der alternative <noscript> Aufwand in keinem Verhältnis. Wenn man glaubt den Suchmaschinen damit eine Alternative geben zu können, der irrt. Alle wirklich relevanten Suchmanschinen, bzw. Bots und dazu zähle ich maßgeblich Google und vielleicht noch Bing haben in eine JS Engine, die sich nur noch geringfügig von der Engine in einem Browser unterscheiden. Die können also alle JS und können deswegen auch die per JS geladen Bilder laden. Also wech damit!

    III.) Jede Form von Inline Scripting inerhalb des <body></body>und dazu gehört auch <noscript> ist nicht nur seit Jahren verpöhnt, sondern widerspricht der im Shop integrierten Content Security Policy. Also noch ein Grund das <noscript> Gedöns zu entfernen. Nicht zuletzt bremst Inline Scripting das Rendern der Seite und führt zu unschönen Seiteneffekten v.a. bei mobilen Geräten in Kombination mit dem Bootstrap Framework.

    Anmerkung: Wenn der Pagespeed Test das gar nicht beanstandet, dann schlichtweg deswegen, weil dieser Test dies und vieles mehr gar nicht berücksichtigt, geschweige denn entsprechende Routinen hat dies zu prüfen. Gleichermaßen berücksichtigt dieser Test auch nicht die Datenmenge.

    IV.) Die Möglichkeiten durch die RD-Methode, bzw. Bootstrap sind wie bereits erwähnt sehr begrenzt. Um aber trotzdem was zu verbessern deswegen im ersten Schritt in jedem Fall dieses <noscript> Gedöns im ganzen Template bei allen Bildern entfernen.  Kann nix, bringt nix!

    IV a.) Die bei jedem Bild enthaltene "unveil" CSS Klasse entfernen und gegen "fade-in" austauschen.

    IV b.) Bei jedem Bild das Laden dieses animierten "loading.gif" ebenso entfernen, bzw. wie folgt ändern:

    src="{$tpl_path}css/images/loading.gif"} ersetzen mit src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs"

    IV c.) In der general_bottom.js.php das Laden des Scripts mittels DIR_TMPL_JS.'jquery.unveil.min.js', im array entfernen. Anstelle dessen eine neu JS Datei mit dem Namen der eigenen Wahl erstellen. In diese neue js Datei nachfolgendes reinkopieren. Nicht vergessen den Namen dieser neuen JS Datei in das array in der general_bottom.js.php einzutragen.

    Code: Javascript  [Auswählen]
    function init() {
        var b = document.getElementsByTagName("img");
        for (var a = 0; a < b.length; a++) {
            if (b[a].getAttribute("data-src")) {
                b[a].setAttribute("src", b[a].getAttribute("data-src"))
            }
        }
    }
    window.onload = init;
     

    Der obige Schnipsel macht im Grunde genommen das Gleiche wie Deiner, ist allerdings universell einsetzbar, bzw. bezieht sich auf alle Bilder und eben nicht nur auf bestimmte Bilder.

    IV c.) Damit die Bilder fürs Auge, bzw. das Anzeigeverhalten etwas schöner gestaltet wird, die folgende Klasse in die stylesheet.css egal wo reinkopieren. Dieser Schritt ist aber optional und ist nur kosmetischer Natur.

    Code: CSS  [Auswählen]
    @-webkit-keyframes fadeIn {
        from {
            opacity: 0
        }
        to {
            opacity: 1
        }
    }

    @-moz-keyframes fadeIn {
        from {
            opacity: 0
        }
        to {
            opacity: 1
        }
    }

    @keyframes fadeIn {
        from {
            opacity: 0
        }
        to {
            opacity: 1
        }
    }

    fade-in {
        opacity: 0;
        -webkit-animation: fadeIn ease-in 1;
        -moz-animation: fadeIn ease-in 1;
        animation: fadeIn ease-in 1;
        -webkit-animation-fill-mode: forwards;
        -moz-animation-fill-mode: forwards;
        animation-fill-mode: forwards;
        -webkit-animation-duration: .25s;
        -moz-animation-duration: .25s;
        animation-duration: .25s
    }

    .fade-in {
        -webkit-animation-delay: .25s;
        -moz-animation-delay: .25s;
        animation-delay: .25s
    }

    Conclusion.
    ****************
    Alles in Allem ist auch mein Korrekturvorschlag nicht der Burner und ändert nichts Wesentliches, aber das ist dem Bootstrap Framework verschuldet. Um was Entscheidendes ändern und verbessern zu können, müsste man viel gravierendere Änderungen machen, die dann aber den kompletten Aufbau sämtlicher Scripte betreffen. Die mitgelieferten Templates wären dann aber nicht mehr zu gebrauchen, wenngleich das Maß der Verbesserung eklatant wäre. Dabei erlaube ich mir eine Kritik an die Entwickler des Shops zu richten. Obwohl sich mit der aktuellen Version die Gelegenheit angeboten hätte, hat man die Altlasten aus den Versionen vor 2.x auch in die aktuelle Version eingeschleppt. Wenn man auf Seiten PHP sehr gute Fortschritte gemacht hat und absolut lobenswert ist, scheint fast jegliches Verständnis zu fehlen, was in Sachen Template mit vergleichsweise geringem Aufwand man hätte um ein Vielfaches besser machen können. Der Nebeneffekt wäre gewesen, dass man bei der Selbsterstellung eines eigenen Templates nicht gezwungen wird die größtenteils massiven Fehler übernehmen zu müssen. So kommt es, dass die meisten am Markt angebotenen Templates sich nur optisch unterscheiden, aber der Code Aufbau und somit auch die Fehler immer noch vorhanden sind. Das betrifft dann auch die hier im Shop zum Download  angebotenen Bootstrap Templates genauso wie auch die im Shop zum Verkauf angebotenen Templates.

    p3e

    • Experte
    • Beiträge: 2.396
    Re: Content Bilder optimieren - Komprimieren
    Antwort #27 am: 26. Dezember 2019, 12:40:04
    Vorneweg: Ich halte es hier wie noRiddle und werde mit sEdeMi nur diskutieren, wenn ich den Eindruck habe, dass es um wirkliche Diskussion geht. Das ist im Moment nicht der Fall, so dass ich hier explizit alle außer sEdeMi anspreche. Ich spreche Ihm auch gar nicht ab, dass er für seinen Shop die bestmögliche Lösung gefunden hat.
    Im echten Leben bleibt man weitestgehend davon verschont aber das Internet ist voll von Leuten, die pauschal sagen, dass andere es "falsch" und sie selbst es "besser" machen. Das ist nicht nur unreflektiert sondern auch kindisch. Wenn man Erfahrung hat, sollte man wissen, dass es beim Programmieren 1000 Wege gibt, die zum Ziel führen und je nach Aufgabe können bestimmte Lösungen besser als andere sein. Der eine Königsweg existiert nur bei dem, der nicht über seinen Tellerrand schauen kann.
    Ein Beispiel: sedemi verzichtet pauschal auf die Kunden, die Javascript deaktiviert haben.  Kann er ja machen. Ist seine Entscheidung und sicherlich kennt er seine Kunden besser als jeder andere. Aber: Wer zB. Behörden oder größere Firmen als Kunden beliefert, sollte einen Shop haben, der auch ohne Javascript funktioniert und die Artikel anzeigt.

    Die Idee, für jeden Bildschirm die genau passende Bildgröße zu berechnen ist nicht neu. Sie stammt aus Zeiten, als Datenverbindungen langsam und Handydisplays klein waren und eine niedrige Auflösung hatten. Bestimmt hat die Methode hier und da noch seinen Nutzen. Viele, wenn nicht die meisten, werden mit drei gut gewählten Bildgrößen zielführend sein.
    Der Pauschalangriff auf die Templates im Shop kann nur ernst genommen werden, wenn alle Templates im Original vorliegen und auch gesagt wird, was da denn im einzelnen im Argen liegt. Ich glaube nicht, dass sEdeMi alle 7 Templates erworben hat. Das würde aber das Bild, das ich von Ihm habe entsprechen: Bei Langeweile einfach mal drauf los poltern.

    Timm

    • Fördermitglied
    • Beiträge: 6.165
    Re: Content Bilder optimieren - Komprimieren
    Antwort #28 am: 26. Dezember 2019, 12:54:55
    @noRiddle
    Ich hätte gedacht weil in der image_manipulator_GD2_advanced.php nun ganz unten das sharpenarray

    Code: PHP  [Auswählen]
        function sharpen() {
          $sharpen = false;
     
          $sharpen_arr = array(
            array(-1.2, -1, -1.2),
            array(-1.0, 20, -1.0),
            array(-1.2, -1, -1.2)
          );

          // calculate the sharpen divisor
          $divisor = array_sum(array_map('array_sum', $sharpen_arr));
         
          $offest = 0;

          require_once(DIR_FS_INC.'auto_include.inc.php');
          foreach(auto_include(DIR_FS_ADMIN.'includes/extra/modules/image_sharpen/','php') as $file) require ($file);

         
          if ($sharpen === true && is_array($sharpen_arr) && count($sharpen_arr) == 3) {
         
            // sharpen the image
            imageconvolution($this->t, $sharpen_arr, $divisor, $offset);
          }
        }
     

    enthalten ist, dass aus diesem Thread Bildqualität Thumbnails stammt und ich in meiner Datei extra oben eingefügt hatte, dass das nun automatisch passiert und ich meine Änderungen wieder rausnehmen kann.

    Ich sehe, dass da nun auch ein auto include drin ist für eigene hinterlegte Files in admin/includes/extra/modules/image_sharpen/
    aber die sharpenmatrix ist doch schon in der Datei. Warum sollte man den Teil nochmal in einer extra Datei hinterlegen, wie es im Ticket #1600 steht? Irgendwas versteh ich da nicht. Auch nicht was du mit auskommentiert meinst. Der Teil ist ja nicht auskommentiert.

    Gruß Timm

    sEdeMi

    • Mitglied
    • Beiträge: 142
    Re: Content Bilder optimieren - Komprimieren
    Antwort #29 am: 26. Dezember 2019, 13:31:53
    @p3e

    Willkommen im Club der Bessergestellten. Jetzt bist Du schon Dritte, der sich über alles hinwegsetzen darf, anderen dieses Recht aber verwehrt. Toller Community-Gedanke!

    Du willst mich von Deiner Diskussion ausschließen, aber auf mir herumhacken willst dann schon? Seltsame Logik, aber das hält mich nicht davon ab auf Deine Kritik zu reagieren. Ganz sachlich und vor allem nicht "kindisch" wie Du es bezeichnest. Kindisch wirkt dann eher das bockige Gebahren andere von einer Diskussion ausschließen zu wollen, aber fleißig austeilen wollen. Was soll man davon halten? Du hast nicht zufällig ein Problem mit einer kontroversen Diskussion?

    Ich gebe Dir nur in 1 Punkt recht, dass es wie bei so vielen Dingen viele Wege gibt, um ans Ziel zu gelangen. Das Ergebnis macht aber den Unterschied und dann dünnt es sich aus, was aber nicht für sich beansprucht, dass es nur den 1 Königsweg geben kann. Dann aber nur noch sehr wenige.

    Wenn ich für mich entschlossen habe auf das noscript Gedönse zu verzichten, dann nicht aus Faul- oder Bequemlichkeit. Deine Argumentation, dass man besonders für Kunden aus Unternehmen auf noscript nicht verzichten dürfe, ist weit entfernt jeglicher Realität. Wenn ich über Jahre hinweg die Entwicklung insbesondere was die Javscript Nutzung anbetrifft, in zig-Millionen von Logfiles  beobachte, dann ist dieser Entschluss alles andere als aus der Luft gegriffen. Wenn es etwas bei diesem Klientel zu beachten gilt, dann ist es die nicht endenwollende Unsterblichkeit des Internet Explorers, aber auch nur was die Version 11 anbetrifft und keineswegs frühere Version und das aus gutem Grund. Der IE wird maßgeblich in Unternehmen nur deswegen noch so ausgeprägt genutzt, um damit für interne Zwecke entwickelte Applikationen nutzen zu können, die u.a. VBScript nutzen. Würde man den Angestellten im IE das Javascript deaktivieren, müssten diese die Arbeit einstellen. Wie und mit welcher Argumentation Du darauf kommst, dass die Admins den Angestellten den JS Saft abdrehen würden, entzieht sich jeglicher Grundlage. Deine Behauptung scheint dann mehr Deinen persönlichen Bedürfnissen zu entsprechen, dass Du Dich zum Schutz vor Tracking und Werbung gern ohne Javascript im Netz bewegst. Davon hält Dich niemand ab, aber hat keine Rechtfertigung Dein persönliches Bedürfnis auf den Rest aller Internet Nutzer zu übertragen.

    Wenn ich Geräteabhängige Bilder bereitstelle, dann ist das kein Relikt aus der Vergangenheit, sondern eine logische Schlussfolgerung, die allen voran von Google vorangetrieben und auch gemaßregelt wird. Von daher ist die Rechtfertigung dieser Praktik eindeutig und durch keine noch so gute Argumentation widerlegbar. Weniger ist mehr! Ganz einfach! Wenn Du das dann immer noch nicht verstehst, bzw. verstehen willst, erkläre ich Dir das gern an einem einfachen Dialog zwischen Client und Server.

    Man muss sich nicht erst ein Template kaufen müssen, um ein Urteil fällen zu können und das weißt Du mindestens so gut wie ich. Ein geübter Blick in den generierten Quelltext, den Du dann offenbar doch nicht zu haben scheinst,  genügt, um das, worauf es ankommt, erkennen zu können. Das lässt sich sogar einem Laien in 2 Minuten erklären. Von daher ist auch diese Argumentation zu diesem Thema aus der Luft gegriffen. Oder seit wann ist HTML, Javascript und CSS eine Server seitige Script Sprache?!

    Obgleich es kurz vor 12 steht, dass dieser Diskussion von der anerkannten Obrigkeit der Stecker gezogen wird, weil es diesem Forum zu eigen sein scheint, dass man keine kontroverse Diskussion toleriert und nur was weichgespült ist diskutiert werden darf dann doch noch etwas persönliches. Du kannst von mir halten, was Du willst. Denk Dir was immer Du willst. Wenn Du aber glaubst Deinen Unmut in Worten ausdrücken zu wollen, um Dritte lautstark und wiederholt herabzuwürdigen, ist dieser Community Gedanke keinen Pfifferling wert. Aber Du gehörst ja zu den Bessergestellten hier im Forum, die so was machen dürfen, ohne dafür gemaßregelt zu werden!
    Managed Server
    18 Antworten
    5993 Aufrufe
    06. September 2022, 10:45:41 von sammar
    10 Antworten
    4987 Aufrufe
    22. Juli 2016, 14:52:33 von web28
    6 Antworten
    6898 Aufrufe
    07. April 2011, 16:10:53 von Tomcraft