Anleitung EAN auf der Artikelseite anzeigen (Honeygrid)

Thema wurde von barbara, 16. Juli 2016 erstellt.

  1. Thorsten Holler

    Thorsten Holler Erfahrener Benutzer

    Registriert seit:
    30. August 2016
    Beiträge:
    105
    Danke erhalten:
    5
    Danke vergeben:
    14
    #121 Thorsten Holler, 25. Januar 2021
    Zuletzt bearbeitet: 25. Januar 2021
    Hallo zusammen,
    ich versuche gerade die EAN nach Threat #101 einzusetzen. OK, der Schriftzug "(EAN: (Variante3))" ist jetzt da, aber wo wird die Variable $PRODUCTS_EAN gefüllt? Bei mir erscheint NIX!

    Zum Testen: https://www.me-pu.de/de/eisenpulver-cut-150.html

    Irgendwie habe ich wohl was überlesen, aber ich weiß nicht wo - kann man bitte den Teil mit der Variable nochmal irgendwo erklären?!

    Verwende aktuell 4.3.2.1 mit Theme Malibu

    Mein fehlgeschlagener Code im product_info_template_standard.html (/GXModules/MePu24/Artikelinfo/Shop/Themes/All):
    {block name="product_info_template_standard_sticky_box_rating" append}
    (EAN: {$PRODUCTS_EAN} <small>(Variante 3)</small>)
    {/block}
     
  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 hier
    HTML:
    {block name="product_info_template_standard_sticky_box_additional_fields" append}
        <dt class="col-xs-4 text-left">EAN:</dt>
        <dd class="col-xs-8">{$PRODUCTS_EAN}</dd>
    {/block}
    ist nicht das, was Du genommen hast.
    Wenn Du das so schreiben würdest, würde die EAN des Hauptartikels angezeigt werden
    So wie ist das sehe, willst Du aber die EAN der Eigenschaften-Kombi anzeigen lassen, dann musst Du die php aus Post #119 beachten.
     
  3. Thorsten Holler

    Thorsten Holler Erfahrener Benutzer

    Registriert seit:
    30. August 2016
    Beiträge:
    105
    Danke erhalten:
    5
    Danke vergeben:
    14
    Hilfe - weiße Fahne - ich gebe auf.

    Ich habe jetzt alle neu angelegten Verzeichnisse und Dateien gelöscht. Absichtlich!

    Meine Bitte:
    Kann man aus den ganzen auf 120 Threats verteilten Infos bitte mal ein Kochbuch zusammen bauen, dass die EAN z.B. unter der Artikelnummer einfügt. Und das ganze sowohl bei EInzelprodukten als auch bei Produkten mit Eigenschaften.

    Mein Kopf ist gerade leer und ...
     
  4. Dan (sunnywall.de)

    Dan (sunnywall.de) Erfahrener Benutzer

    Registriert seit:
    16. April 2013
    Beiträge:
    1.262
    Danke erhalten:
    138
    Danke vergeben:
    122
    Ich bin jetzt irgendwie Blind und zu blöd.
    Wie ist die Kurzfassung. Wo genau muss ich was anlegen, eintragen oder hinterlegen, damit ich im Malibu Theme die EAN sichtbar bekomme?

    Danke für eine kurze neue Zusammenfassung. Die vielen Beiträge bringen mich um den Verstand. Möglicherweise hat jemand eine perfekte Endfassung. Dankeschön.
     
  5. Thorsten Holler

    Thorsten Holler Erfahrener Benutzer

    Registriert seit:
    30. August 2016
    Beiträge:
    105
    Danke erhalten:
    5
    Danke vergeben:
    14
    #125 Thorsten Holler, 8. März 2021
    Zuletzt bearbeitet: 8. März 2021
    Hallo Barbara,
    ich habe mir jetzt den Code aus #119 mal angesehen und versucht zu verstehen. So, wie der Code dort abgebildet ist, funktioniert es bei mir nicht - Err 500. Ich habe mal einen Blick in die Tabelle geworfen. "combi_ean" finde ich da, aber wer oder was ist p1 und später p2???
    Wie ist das zu verstehen? Ich könnte Dir ja mal einen SQL-Auszug der Tabelle products_properties_combis mit 2 oder 3 Inhaltszeilen schicken.

    Die Änderung in der Ausgabedatei packt mir nur die EAN direkt unter die Artikel-Nr., also ÜBER die Artikelbezeichnung, etc.
    Und JA, das Problem scheint "nur" durch die Varianten zu kommen.

    Wäre nett, wenn Du mir etwas auf die Sprünge helfen würdest.

    Viele Grüße
    Thorsten

    PS: Bei einem Produkt OHNE Varianten (https://www.me-pu.de/de/schutzbrille-vollsichtbrille.html) funktioniert die EAN-Anzeige, es wird also die EAN der Variante nicht aufgerufen und ich weiß nicht, wie ich ihn dazu überzeugt bekomme.

    Anhang: Tabelle mit 5 Einträgen/Werten.
     

    Anhänge:

  6. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Hast Du den Pfad genutzt:
    /GXModules/DeinName/MeineCombiEAN/Shop/Overloads/CheckStatusController
    und darin die Datei
    anfbioladenCombiEANCheckStatusController.php
    mit dem in Post #119 genannten Inhalt?
     
  7. Thorsten Holler

    Thorsten Holler Erfahrener Benutzer

    Registriert seit:
    30. August 2016
    Beiträge:
    105
    Danke erhalten:
    5
    Danke vergeben:
    14
    Moin Barbara,
    ich habe den kompletten Verzeichnisstrang hinter GXModules jetzt gelöscht und neu angelegt.

    Folgende 2 Stränge existieren jetzt:
    GXModules/ITS/CombiEAN/Shop/Overloads/CheckStatusController/CombiEANCheckStatusController.php
    <?php #Auch ohne den PHP-Start funktioniert es nicht
    class CombiEANCheckStatusController extends CombiEANCheckStatusController_parent {
    protected function _getPropertiesResponseArray($selectionTemplate, $combiStatus, $p_quantityChecker, StoredProductInterface $product) {
    $ret = parent::_getPropertiesResponseArray($selectionTemplate, $combiStatus, $p_quantityChecker, $product);
    if (!empty($_GET['properties_values_ids'])) {
    $query = "SELECT p1.combi_ean FROM `products_properties_combis` p1, `products_properties_combis_values` p2 WHERE p1.products_properties_combis_id=p2.products_properties_combis_id AND p1.products_id=" . (int)$_GET['products_id'] . " AND p2.properties_values_id IN (" . implode(',', array_map(function ($a) {
    return (int)$a;
    }, $_GET['properties_values_ids'])) . ") GROUP BY p2.products_properties_combis_id ORDER BY COUNT(p2.products_properties_combis_values_id) DESC LIMIT 0,1";
    $res = xtc_db_query($query);
    while ($date = xtc_db_fetch_array($res)) {
    //~ $ret['content']['combiEAN'] = ['selector' => 'eanText', 'type' => 'html', 'value' => $date['combi_ean']];
    $ret ['content']['model']['value'].= ' ' . $date['combi_ean'];
    }
    }
    return $ret;
    }
    }

    und
    GXModules/ITS/CombiEAN/Shop/Themes/All/product_info_template_standard.html
    {block name="product_info_template_standard_sticky_box_rating" append}
    (EAN: {$PRODUCTS_EAN} <small>(Variante 3)</small>)
    {/block}

    Varianten zum Testen - es werden jetzt keine vollständigen Artikelnummern mehr angezeigt - sollte sein: p15-10050:
    https://www.me-pu.de/de/aluminiumgranulat-0-8-1-2-mm.html

    Artikel ohne Varianten - EAN wird angezeigt! - so sollte es auch bei den Varianten sein:
    https://www.me-pu.de/de/metallpulve...erharz-epoxidharz-polyurethanharz-280-mm.html

    Ich hoffe meine Zusammenfassung des Prroblems inkl. der Fehler ist verständlich und Du steigst da durch; ich tue es (leider) nicht mehr.

    Viele Grüße
    Thorsten
     
  8. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    {$PRODUCTS_EAN}
    ist für die Artikel-EAN, wenn da die EAN für eine Eigenschaft stehen soll, dann muss die da auch abgefragt werden.

    Wenn ich das richtig im Kopf habe, müsste das die
    {$COMBI_EAN}
    sein
     
  9. Thorsten Holler

    Thorsten Holler Erfahrener Benutzer

    Registriert seit:
    30. August 2016
    Beiträge:
    105
    Danke erhalten:
    5
    Danke vergeben:
    14
    Testshop: siehe Threat #127

    Grumpfel
    Egal wie, wo ist die Datei von Hanf anlege und mit seinem Code fülle, genau ab dem Zeitpunkt funktioniert die Auswahl der Variante nicht mehr. Ich kann verschiedene Werte anwählen, aber es wird nichts geändert (z.B. Preis). Auch eine EAN für die Variante wird nicht angezeigt.

    Speicherpfade und Dateien:
    /_me-pu.de/GXModules/ITS/Product-EAN/Shop/Overloads/ProductInfoThemeContentView
    ean_ProductInfoThemeContentView.inc.php

    /_me-pu.de/GXModules/ITS/Product-EAN/Shop/Themes/All
    product_info_template_standard.html

    /_me-pu.de/GXModules/ITS/HanfbioladenCombiEAN/Shop/Overloads/CheckStatusController
    HanfbioladenCombiEANCheckStatusController.php

    Da ich nicht weiß, wie und ob der Pfad ausgelesen und übergeben wird, habe ich in Hanf's Pad keine Änderungen gemacht. Erfolg: Nada!

    Die zugefhörigen Dateien lade ich hoch, vielleicht findet ja ja jemand den Fehler - ich weiß leider zu wenig darüber :-( - oder fehlt einfach eine Datei?

    {$combi_ean} habe ich in der HTML-Datei testweise direkt hinter {$PRODUCTS_EAN} gepackt.

    und noch eine Code-Frage: Wird Groß- und Kleinschreibung bei Variablen unterschieden?
     

    Anhänge:

  10. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ja.
    Mal muss das klein sein und mal muss das in Großbuchstaben.
     
  11. Thorsten Holler

    Thorsten Holler Erfahrener Benutzer

    Registriert seit:
    30. August 2016
    Beiträge:
    105
    Danke erhalten:
    5
    Danke vergeben:
    14
    Schade, an einem klein geschriebenen $COMBI_EAN hat es nicht gelegen.

    Wieso blockiert bei mir der Code von Hanf die Variantenauswahl? Gibt es für die Anzeige der Varianten-EAN im Theme keine einfache Möglichkeit?
     
  12. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Nein.
    Die EAN anzuzeigen ist nicht vorgesehen - weder die der Artikel, noch die der Varianten.

    Welche Shopversion hast Du? Vielleicht hat sich da etwas geändert, dass der Code von Hanf nicht mehr geht.
     
  13. Thorsten Holler

    Thorsten Holler Erfahrener Benutzer

    Registriert seit:
    30. August 2016
    Beiträge:
    105
    Danke erhalten:
    5
    Danke vergeben:
    14
    Ich versuche immer die Seite aktuell zu halten - mit einer Wartezeit von ca. 2 Wochen.

    Version: 4.3.3.1
    Theme: Malibu
     
  14. Thorsten Holler

    Thorsten Holler Erfahrener Benutzer

    Registriert seit:
    30. August 2016
    Beiträge:
    105
    Danke erhalten:
    5
    Danke vergeben:
    14
    Nochmal ein EAN für Variablen-Update:
    Shop-Version: 4.3.3.1
    URL: www.me-pu.de

    Den Teil, der die EAN in den Masterartikel schreibt habe ich jetzt raus genommen, es existiert also nur noch der Pfad von Hanf mit 2 Zielpfaden:
    1. /home/Shop/_Testshop/GXModules/ITS/CombiEAN/Shop/Overloads/CheckStatusController/CombiEANCheckStatusController.php
    Code:
    <?php
    class CombiEANCheckStatusController extends CombiEANCheckStatusController_parent {
    protected function _getPropertiesResponseArray($selectionTemplate, $combiStatus, $p_quantityChecker, StoredProductInterface $product) {
    $ret = parent::_getPropertiesResponseArray($selectionTemplate, $combiStatus, $p_quantityChecker, $product);
    if (!empty($_GET['properties_values_ids'])) {
    $query = "SELECT p1.combi_ean FROM `products_properties_combis` p1, `products_properties_combis_values` p2 WHERE p1.products_properties_combis_id=p2.products_properties_combis_id AND p1.products_id=" . (int)$_GET['products_id'] . " AND p2.properties_values_id IN (" . implode(',', array_map(function ($a) {
    return (int)$a;
    }, $_GET['properties_values_ids'])) . ") GROUP BY p2.products_properties_combis_id ORDER BY COUNT(p2.products_properties_combis_values_id) DESC LIMIT 0,1";
    $res = xtc_db_query($query);
    while ($date = xtc_db_fetch_array($res)) {
    //~ $ret['content']['combiEAN'] = ['selector' => 'eanText', 'type' => 'html', 'value' => $date['combi_ean']];
    $ret ['content']['model']['value'].= ' ' . $date['combi_ean'];
    }
    }
    return $ret;
    }
    }

    2. /home/Shop/_Testshop/GXModules/ITS/CombiEAN/Shop/Themes/All/product_info_template_standard.html
    Die Ausgabe erfolgt testweise in 3 verschiedenen Blöcken
    Code:
    {block name="product_info_template_standard_sticky_box_additional_fields" append}
    <dt class="col-xs-4 text-left">EAN:</dt>
    <dd class="col-xs-8">{$COMBI_EAN}</dd>
    {/block}

    {block name="product_info_template_standard_sticky_box_rating" append}
    (EAN: {$COMBI_EAN}<small>(Variante 3)</small>)
    {/block}

    {block name="product_info_template_standard_sticky_box_product_ean"}
    <dt class="col-xs-4 text-left model-number" {if !$PRODUCTS_EAN} style="display: none" {/if}>Barcode / EAN:
    </dt>
    <dd class="col-xs-8 model-number model-number-text" {if !$PRODUCTS_EAN} style="display: none" {/if}>{$PRODUCTS_EAN}
    </dd>
    Test - {$COMBI_EAN}
    {/block}

    Die Variantenauswahl funktioniert, in der Rating-Zeile wird auch die Artikelnummer aktualisiert und richtig angezeigt, nur wird weiterhin die EAN nicht angezeigt.

    Was ich gemacht habe ist bei den Verzeichnissen, Dateien und Dateiinhalten die Bezeichnung "Hanf..." entfernt.

    Zusätzliche Frage um die Funktion zu verstehen:
    Ist der Name der jeweiligen Datei und des Verzeichnisnamens hinter GXModules frei wählbar, oder wird gibt es irgendwelche Beziehungen zwischen Dateeiname/Inhalt und Verzeichnisnamen?

    Viele Grüße
    Thorsten