Anleitung Artikelnummern in der Listen- und Kachelansicht im Honeygrid

Thema wurde von barbara, 27. November 2016 erstellt.

  1. Anonymous
    Anonymous Mitglied
    Registriert seit:
    19. August 2017
    Beiträge:
    15
    Danke erhalten:
    2
    Danke vergeben:
    2
    Shopversion ist die 3.7.1.1

    Die product-USERMOD.html liegt im Verzeichnis "templates/Honeygrid/snippets/product_listing".
     
  2. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Und Du hast die beiden Dateien
    /product/ ean_product.inc.php und
    /productListingContentControl/ ean_ProductListingContentControl.inc.php
    im Verzeichnis GXUserComponents/ overloads/ ?
     
  3. Anonymous
    Anonymous Mitglied
    Registriert seit:
    19. August 2017
    Beiträge:
    15
    Danke erhalten:
    2
    Danke vergeben:
    2
    /product/ ean_product.inc.php liegt genau dort


    /productListingContentControl/ ean_ProductListingContentControl.inc.php von der Datei weiß ich nichts. Das stand auch nicht in deinem ersten Beitrag hier im Thread :confused: Wo kommt die denn her?
     
  4. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    die habe ich für meine Extrafelder, ich teste mal, ob es ohne geht. Wenn nicht poste ich die gleich hier.
    In der Version 3.7.x muss das aber auch etwas anders in die html-Dateien geschrieben werden, wegen der neuen Blöcke.
    Da bin ich auch noch am testen :)
     
  5. Anonymous
    Anonymous Mitglied
    Registriert seit:
    19. August 2017
    Beiträge:
    15
    Danke erhalten:
    2
    Danke vergeben:
    2
    Ich glaube das es zur Zeit bei mir nur an dem Auslesen des Felde scheitert. Habe händisch hinter die {$PRODUCTS_EAN} im Template "Test" geschrieben und das wird mir ausgegeben.

    Aber die Extrafelder brauche ich ja eigentlich nicht, oder? Ich nutze ja ein Standardfeld, welches vorhanden ist.
     
  6. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Nein, brauchst Du nicht. Du brauchst auch nur die ean_productinc.php
    Die hat bei mir diesen Inhalt:
    PHP:
    <?php

    class extrafeld_product extends extrafeld_product_parent
    {
        function 
    buildDataArray(&$array$image 'thumbnail')
        {
            global 
    $xtPrice$main;
           
            
    $t_data_array=parent::buildDataArray($array$image);
                   
            
    //Additional info in $t_data_array   
            
    $t_data_array['PRODUCTS_EAN']=$array['products_ean'];
           
            
    //Additional info in $t_data_array

            
    return $t_data_array;
            
    // EOF GM_MOD
        
    }


    function 
    getAlsoPurchased()
       {
         
    // BOF YOOCHOOSE
         
    if(defined('YOOCHOOSE_ACTIVE') && YOOCHOOSE_ACTIVE)
            {
                require_once (
    DIR_FS_CATALOG 'includes/yoochoose/recommendations.php');
                require_once (
    DIR_FS_CATALOG 'includes/yoochoose/functions.php');
                return 
    recommendData(getAlsoPurchasedStrategy(), $this->pIDMAX_DISPLAY_ALSO_PURCHASED);
            }
         
    // EOF YOOCHOOSE

         
    global $xtPrice;

         
    $module_content = array();
         
    $t_query=parent::getAlsoPurchased();

         
    $fsk_lock "";
         if(
    $_SESSION['customers_status']['customers_fsk18_display'] == '0')
         {
           
    $fsk_lock ' and p.products_fsk18!=1';
         }
         
    $group_check "";
         if(
    GROUP_CHECK == 'true')
         {
           
    $group_check " and p.group_permission_" $_SESSION['customers_status']['customers_status_id'] . "=1 ";
         }

         
    // BOF GM_MOD:
         
    $t_query "SELECT
                 p.products_fsk18,
                 p.products_id,
                 p.products_price,
                 p.products_tax_class_id,
                 p.products_image,
                 p.products_ean,
                 pd.gm_alt_text,
                 pd.products_name,
                 pd.products_meta_description,
                 p.products_vpe,
                 p.products_vpe_status,
                 p.products_vpe_value,
                 pd.products_short_description
               FROM
                 " 
    TABLE_ORDERS_PRODUCTS " opa,
                 " 
    TABLE_ORDERS_PRODUCTS " opb,
                 " 
    TABLE_ORDERS " o,
                 " 
    TABLE_PRODUCTS " p,
                 " 
    TABLE_PRODUCTS_DESCRIPTION " pd
               WHERE
                 opa.products_id = '" 
    $this->pID "'
                 AND opa.orders_id = opb.orders_id
                 AND opb.products_id != '" 
    $this->pID "'
                 AND opb.products_id = p.products_id
                 AND opb.orders_id = o.orders_id
                 AND p.products_status = '1'
                 AND pd.language_id = '" 
    . (int)$_SESSION['languages_id'] . "'
                 AND opb.products_id = pd.products_id
                 AND o.date_purchased > DATE_SUB(NOW(),INTERVAL " 
    MAX_DISPLAY_ALSO_PURCHASED_DAYS " DAY)
                 " 
    $group_check "
                 " 
    $fsk_lock "
               GROUP BY
                 p.products_id
               ORDER BY
                 o.date_purchased desc
               LIMIT
                 " 
    MAX_DISPLAY_ALSO_PURCHASED;
         
    $t_query xtc_db_query($t_query);
         while(
    $orders xtc_db_fetch_array($t_querytrue))
         {
           
    $module_content[] = $this->buildDataArray($orders);
         }

         return 
    $module_content;
       }
       function 
    getCrossSells()
        {
            global 
    $xtPrice;

            
    $t_query "SELECT
                            products_xsell_grp_name_id
                        FROM
                            " 
    TABLE_PRODUCTS_XSELL "
                        WHERE
                            products_id = '" 
    $this->pID "'
                        GROUP BY
                            products_xsell_grp_name_id"
    ;
            
    $cs_groups xtc_db_query($t_query);
            
    $cross_sell_data = array();
            if(
    xtc_db_num_rows($cs_groupstrue) > 0)
            {
                while(
    $cross_sells xtc_db_fetch_array($cs_groupstrue))
                {

                    
    $fsk_lock '';
                    if(
    $_SESSION['customers_status']['customers_fsk18_display'] == '0')
                    {
                        
    $fsk_lock ' AND p.products_fsk18!=1';
                    }
                    
    $group_check "";
                    if(
    GROUP_CHECK == 'true')
                    {
                        
    $group_check " AND p.group_permission_" $_SESSION['customers_status']['customers_status_id'] . "=1 ";
                    }

                    
    // BOF GM_MOD:
                    
    $cross_query "
                                    SELECT
                                        p.products_fsk18,
                                        p.products_tax_class_id,
                                        p.products_id,
                                        p.products_image,
                                        pd.products_name,                         
                                        p.products_ean,
                                        pd.products_short_description,
                                        pd.products_meta_description,
                                        p.products_fsk18,
                                        p.products_price,
                                        pd.gm_alt_text,
                                        p.products_vpe,
                                        p.products_vpe_status,
                                        p.products_vpe_value,
                                        xp.sort_order
                                    FROM
                                        " 
    TABLE_PRODUCTS_XSELL " xp,
                                        " 
    TABLE_PRODUCTS " p,
                                        " 
    TABLE_PRODUCTS_DESCRIPTION " pd
                                    WHERE
                                        xp.products_id = '" 
    $this->pID "'
                                    AND
                                        xp.xsell_id = p.products_id " 
    .
                                        
    $fsk_lock .
                                        
    $group_check "
                                    AND
                                        p.products_id = pd.products_id
                                    AND
                                        xp.products_xsell_grp_name_id='" 
    $cross_sells['products_xsell_grp_name_id'] . "'                           
                                    AND
                                        pd.language_id = '" 
    . (int)$_SESSION['languages_id'] . "'
                                    AND
                                        p.products_status = '1'
                                    ORDER BY
                                        xp.sort_order ASC"
    ;

                    
    $cross_query xtDBquery($cross_query);
                    if(
    xtc_db_num_rows($cross_querytrue) > 0)
                    {
                        
    $cross_sell_data[0][] = array('GROUP' => xtc_get_cross_sell_name($cross_sells['products_xsell_grp_name_id']), 'PRODUCTS' => array());
                    }

                    while(
    $xsell xtc_db_fetch_array($cross_querytrue))
                    {
                        
    $cross_sell_data[0]['PRODUCTS'][] = $this->buildDataArray($xsell);
                    }
                }
                return 
    $cross_sell_data;
            }
        }
           function 
    getReverseCrossSells()
       {
         global 
    $xtPrice;


         
    $fsk_lock '';
         if(
    $_SESSION['customers_status']['customers_fsk18_display'] == '0')
         {
           
    $fsk_lock ' and p.products_fsk18!=1';
         }
         
    $group_check "";
         if(
    GROUP_CHECK == 'true')
         {
           
    $group_check " and p.group_permission_" $_SESSION['customers_status']['customers_status_id'] . "=1 ";
         }

         
    // BOF GM_MOD:
         
    $t_query "SELECT
                 p.products_fsk18,
                 p.products_tax_class_id,
                 p.products_id,
                 p.products_image,
                 p.products_ean,
                 pd.products_name,
                 pd.products_short_description,
                 pd.products_meta_description,
                 p.products_fsk18,
                 p.products_price,
                 pd.gm_alt_text,
                 p.products_vpe,
                 p.products_vpe_status,
                 p.products_vpe_value,
                 xp.sort_order
               FROM
                 " 
    TABLE_PRODUCTS_XSELL " xp,
                 " 
    TABLE_PRODUCTS " p,
                 " 
    TABLE_PRODUCTS_DESCRIPTION " pd
               WHERE
                 xp.xsell_id = '" 
    $this->pID "'
               AND
                 xp.products_id = p.products_id " 
    .
               
    $fsk_lock .
               
    $group_check "
               AND
                 p.products_id = pd.products_id
               AND
                 pd.language_id = '" 
    . (int)$_SESSION['languages_id'] . "'
               AND
                 p.products_status = '1'
               ORDER BY
                 xp.sort_order ASC"
    ;
      
         
    $cross_query xtc_db_query($t_query);

         while(
    $xsell xtc_db_fetch_array($cross_querytrue))
         {
           
    $cross_sell_data[] = $this->buildDataArray($xsell);
         }

         return 
    $cross_sell_data;
       }
      }
    ?>
    Und das funktioniert.
     
  7. Anonymous
    Anonymous Mitglied
    Registriert seit:
    19. August 2017
    Beiträge:
    15
    Danke erhalten:
    2
    Danke vergeben:
    2
    #27 Anonymous, 28. Oktober 2017
    Zuletzt bearbeitet: 28. Oktober 2017
    Top! Danke nun funktioniert es :)

    Was muss ich denn noch ergänzen, damit es auch in den Suchergebnissen angezeigt wird? :oops: Also auf der /advanced_search_result.php
     
  8. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Da muss ich mal suchen.
    Meine anderen Extrafelder und die Artikelnummer werden bei mir auch in den Suchergebnissen angezeigt.
    Die EAN will gerade noch nicht.
    Ich muss aber erstmal meine ganzen Anpassungen prüfen, irgendetwas zerschießt mir im Testshop noch die Seiten. :(
     
  9. Anonymous
    Anonymous Mitglied
    Registriert seit:
    19. August 2017
    Beiträge:
    15
    Danke erhalten:
    2
    Danke vergeben:
    2
    Na das beruhigt ja schon mal ein wenig, wenn es bei dir auch nicht funktioniert :)
    Ich versteh leider noch nicht ganz die Zusammenhänge welche Datei an welcher Stelle wie was macht :D sonst würd ich ja selber mal gucken :oops:
     
  10. Anonymous
    Anonymous Mitglied
    Registriert seit:
    13. Juli 2018
    Beiträge:
    12
    Danke erhalten:
    0
    Danke vergeben:
    2
    Hallo Barbara,

    ich habe nach deiner Anleitung oben versucht die Artikelnummer in den Kacheln anzuzeigen. Leider sehe ich keine Änderung, auch wenn ich testweise die Original-Dateien angepasst habe. Der Cache ist immer geleert. Ich habe es mit Chrome und Firefox getestet.

    Mir scheint, dass jegliche Änderung (z.B. ein einfaches <p>test</p>) nicht erkannt wird.

    Die Shop ist neu und gerade im Aufbau mit Shopversion ist die 3.9.3.1

    Hast du vielleicht eine Idee?!

    Viele Grüße
    Claudia
     
  11. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.145
    Danke erhalten:
    716
    Danke vergeben:
    127
    @barbara: templates\Honeygrid\snippets\product_listing

    @Dominic: Sonst hast Du nichts angepasst? Da fehlen aus dem Bauch heraus noch mind. 2 Dateien! :)
     
  12. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Ich teste das gleich noch mal in einem neuen 3.10. - Shop und schreibe hier, was man wo einfügen muss, um die Artikelnummer angezeigt zu bekommen.
     
  13. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Den angehängten Ordner entpacken.
    Den ganzen Ordner "BIS" so wie er ist in den Ordner GXModules laden.
    Cache leeren.
    Die Artikelnummer sollte jetzt in der Kachel und in der Listenansicht jeweils über dem Artikelnamen angezeigt werden.

    Getestet in der Version 3.10.0
     

    Anhänge:

    • BIS.zip
      Dateigröße:
      4,2 KB
      Aufrufe:
      42
  14. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. November 2016
    Beiträge:
    517
    Danke erhalten:
    46
    Danke vergeben:
    45
    Hallo Barbara,

    einfach super!
    Das Ding hatte ich schon seit einer Weile haben wollen, aber selbst der Support konnte mir nicht weiterhelfen.
    Hab's eingebaut und es läuft. Für Kunden wie Admin schafft es mehr Übersicht.
     
  15. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. November 2016
    Beiträge:
    517
    Danke erhalten:
    46
    Danke vergeben:
    45
    Wenn wir schon dabei sind :rolleyes:

    Gibt es nicht auch so etwas ähnliches für eine vierte Zeile der Artikelüberschrift in der Kachel?
    Ich finde es schade wenn die wichtigsten Infos in dem Titel einfach abgehackt werden, nebenbei sieht es blöde aus.
    In der Kachel wäre reichlich Platz.
     
  16. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Die Höhe ist ab 3.9 im Styleedit einstellbar, kann man einfach höher machen.
     
  17. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. November 2016
    Beiträge:
    517
    Danke erhalten:
    46
    Danke vergeben:
    45
    Geht das nur durch Kachelvergrößerung oder kann man da gezielt eine weitere Zeile hinzufügen, bei gleicher Größe?
    Platz ist mehr als reichlich in der Kachel.
     
  18. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Nee, gar nicht soviel. Das einzig fixe in der Höhe ist ansich die Preisbox. Bildhöhe und Artikelnamenhöhe lassen sich einstellen. Die feste Höhe der Preisbox enthält reservierten Platz für Angebotspreise der mal weiss bleiben kann, das zu reservieren hat aber den grossen Vorteil zueinander allzeit bündiger Preise, das sprang früher und wirkte sehr unruhig.
     
  19. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Bei mir im Testshop ist da nichts mehr bündig :(
    Liegt aber vermutlich daran, dass ich es vorher (in Version 3.8) bündig hatte.
     
  20. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Dann hast du sehr viel gezaubert....