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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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:
    2.884
    Danke erhalten:
    617
    Danke vergeben:
    113
    @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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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:
      40
  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.309
    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.309
    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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.309
    Danke vergeben:
    2.208
    Dann hast du sehr viel gezaubert....