sind GambioCore - Dateien überladbar?

Thema wurde von barbara, 25. Januar 2021 erstellt.

  1. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Hallo,

    es geht um die Datei
    GambioCore/Images/ImagesServiceProvider.php

    ich möchte da die Zeile
    PHP:
    $this->application->registerShared(ProductGalleryImages::class)->addArgument(
                
    DIR_WS_IMAGES 'product_images/gallery_images/'
            
    );
    ändern in:
    PHP:
    $this->application->registerShared(ProductGalleryImages::class)->addArgument(DIR_WS_IMAGES 'product_images/thumbnail_images/');
    Das aber nicht unbedingt in der originalen Datei.
    Geht das überhaupt anders?
     
  2. Mirko (Gambio)

    Mirko (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    27. März 2017
    Beiträge:
    41
    Danke erhalten:
    22
    Danke vergeben:
    5
    Moin,

    ein generelles Overloading, wie es über die MainFactory generell bekannt ist, ist für diesen Bereich nicht vorgesehen. Seit der Version 4.1 erproben wir aktuell eine neue Architektur, die mit v4.5 auch ausführlich dokumentiert veröffentlicht wird.
    Was die Anpassbarkeit und Erweiterbarkeit angeht, streben wir andere technische Lösungen an und wollen von einer vollkommen freien Struktur zu definierten Schnittstellen mit langfristiger Unterstützung kommen.

    Was nun dein aktuelles Anliegen betrifft, so könntest du an der gegebenen Stelle zwar die Änderung machen, musst dir aber im klaren sein, dass es sich hier um eine nicht update-sichere Anpassung handelt. Ferner könnte ich nun auch nicht ganz abschätzen, welche Auswirkungen dies auf das Gesamtsystem hätte.

    Wenn du vielleicht genauer beschreiben würdest, was du vor hast, könnte man nach Alternativen schauen.

    Liebe Grüße
    Mirko
     
  3. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Hallo Mirko,

    gerne :)
    Ich habe ja oben schon geschrieben, dass ich die eine Zeile ändern möchte.
    Es sollen ganz einfach statt der kleinen Galeriebilder die größeren Thumbnails verwendet werden.
    Dann kann man z.B. im Artikel die Galeriebilder größer darstellen.

    Ich habe das schon mal bemängelt, dass die Galeriebilder und Thumbnails ungünstig zum Einsatz kommen.
    Am Artikel muss man die Vorschau gut erkennen können - da sind die Thumbnails eigentlich perfekt.

    Im kleinen Warenkorb hingegen, würde das kleine Galeriebild reichen - da wird aber das große Thumbnail auf 45 x 45px geschrumpft.

    Hier kannst Du den Unterschied sehen:
    (Link nur für registrierte Nutzer sichtbar.)
    Die untere Version ist schöner, oder nciht?
     
  4. Mirko (Gambio)

    Mirko (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    27. März 2017
    Beiträge:
    41
    Danke erhalten:
    22
    Danke vergeben:
    5
    Eindeutig!

    Ich hätte wohl nun zwei Lösungsvorschläge:

    1. Du veränderst den Service Provider so ab, wie du es in deinem ersten Beitrag beschrieben hast. (Wodurch das ganze eben nicht update-sicher ist.)

    2. Du könntest den Pfad auch über das Template manipulieren, in dem du den Block
    Code:
    product_info_gallery_swiper_slide_thumbnail
    in der
    Code:
    themes/Honeygrid/html/system/product_info_gallery_swiper_slide.html
    Datei wie folgt veränderst:

    Code:
    {block name="product_info_gallery_swiper_slide_thumbnail"}
       <div class="align-middle">
          <img
                class="img-responsive"
                {if $img_src2} data-thumb-src="{$img_src2|strip_tags}"{/if}
                src="{$img_src|replace:'gallery_images':'thumbnail_images'|strip_tags}"
                {if $img_alt} alt="Preview: {$img_alt|strip_tags}"{/if}
                {if $img_title} title="Preview: {$img_title|strip_tags}"{/if}
                {if $img_zoom} data-magnifier-src="{$img_zoom|strip_tags}"{/if}
          />
       </div>
    {/block}
    
    Wichtig ist hier das:

    Code:
    src="{$img_src|replace:'gallery_images':'thumbnail_images'|strip_tags}"
    Hilft dir das schon weiter?
     
  5. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Das werde ich gleich testen und berichten :)

    Vielen Dank.
     
  6. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Das hat fast gepasst. :)
    Der Block ist richtig, wenn man die Vorschaubilder neben dem Artikelbild hat.
    Wenn die darunter sind, nutzt man aber die Mobile-Einstellungen und da muss dann natürlich auch der entsprechende Block genommen werden.

    HTML:
    {block name="product_info_gallery_swiper_slide_mobile"}
        <div class="align-vertical">
            <img
                {if $img_src2} data-thumb-src="{$img_src2|strip_tags}"{/if}
                src="{$img_src|replace:'gallery_images':'thumbnail_images'|strip_tags}"
                {if $img_alt} alt="Mobile Preview: {$img_alt|strip_tags}"{/if}
                {if $img_title} title="Mobile Preview: {$img_title|strip_tags}"{/if}
                {if $img_zoom} data-magnifier-src="{$img_zoom|strip_tags}"{/if}
            />
        </div>
    {/block}
    So etwas habe ich gesucht, noch einmal ganz lieben Dank dafür :)
     
  7. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    367
    Danke erhalten:
    118
    Danke vergeben:
    39
    Ha hänge ich mich dran...

    \GambioShop\Attributes\ProductModifiers\Database\Readers\AttributeGroupReader.php

    Diese Datei ist für die neuen Modifies zuständig für die Ausgabe der Attribute im Artikel. Um hier die Reihenfolge der Ausgabe steuern zu können muß ich die Datei nicht updatesicher ändern.

    Ginge das auch updatesicher?

    Nebenbei bemerkt: Die Möglichkeit der Sortierung könnte Gambio doch endlich mal in den Core mit aufnehmen...;)
     
  8. Mirko (Gambio)

    Mirko (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    27. März 2017
    Beiträge:
    41
    Danke erhalten:
    22
    Danke vergeben:
    5
    #8 Mirko (Gambio), 27. Januar 2021
    Zuletzt bearbeitet: 27. Januar 2021
    Ach ok, ja daran hatte ich in dem Moment nicht gedacht :confused:, aber schön, dass dir das geholfen hat :D.

    Moin,

    habe mir das gerade auch mal etwas tiefergehend angeschaut. Bei der Selling Unit werden die einzelnen Artikel-Daten auf technischer Ebene über ein Event-System gesammelt. Hierbei fehlt jedoch die Möglichkeit (soweit ich das überschauen konnte), über die Events die durch uns erfassten Attributs-Gruppen zu manipulieren.

    Was das bedeutet ist, dass ich keine Möglichkeit sehe durch eigenes Reagieren auf entsprechende Events, diese Sortierung im nachhinein zu beeinflussen. Es bleibt also wohl leider keine andere Möglichkeit als dort nicht updatesicher vorzugehen.

    Da ich nun aber auch nicht super vertraut mit der Selling Unit bin, werde ich noch einmal kurz bei den entsprechenden Entwicklern auf deine Frage hinweisen. Vielleicht übersehe ich doch noch etwas und es ist möglich.

    Edit: Nach Rücksprache mit einigen Kollegen, muss leider mitteilen, dass es keine updatesichere Variante gibt. Es wurde jedoch ein entsprechendes Ticket bei uns angelegt und auch die generelle Anpassbarkeit der Selling Unit ist und bleibt Thema innerhalb der Entwicklung.