Ank?ndigung

Einklappen
Keine Ank?ndigung bisher.

product item codes (isbn, upc, mpn, jan) im Frontend anzeigen lassen + Suche

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles l?schen
neue Beitr?ge

  • product item codes (isbn, upc, mpn, jan) im Frontend anzeigen lassen + Suche

    Servus!

    Ich hab' mich jetzt eine weile mit diesem ***** rumgeschlagen, weil ich es für einen Bekannten für GX3 3.5.1.2 umsetzen sollte. Wollte daher mal posten, wie ich es umgesetzt habe, da nämlich alle Tutorials im Netz entweder veraltet sind, oder bei GX3 nicht funktionieren (oder ich bin zu blöd zum suchen). Getestet mit GX3 3.5.1.2, 3.5.2.0 und 3.5.3.0, also am besten vorher auf die aktuelle Version updaten. Das anzeigen der product_item_codes ist halbwegs update-sicher, die suche nach dessen allerdings nicht. Vielleicht findet sich ja einer, der das overloaded/adaptiert/nachreicht/whateva.

    1. Eine Datei erstellen mit dem Namen itm_codes_ProductInfoContentView.inc unter /<shoproot>/GXUserComponents/overloads/ProductInfoContentView/ mit dem folgenden Inhalt:

    PHP-Code:
    <?php
    class itm_codes_ProductInfoContentView extends itm_codes_ProductInfoContentView_parent
    {
      protected function 
    _assignProductData()
      {

    if (isset (
    $_GET['info'])) {
            
    $site explode('_'$_GET['info']);
            if(
    substr_wrapper($site[0], 01) == 'p')
            {
                    
    $pID $site[0];
                    
    $actual_products_id = (int) str_replace('p'''$pID);
                    
    $sql xtc_db_query("SELECT * FROM products_item_codes WHERE products_id = '$actual_products_id'");
                    while (
    $products_item_codes xtc_db_fetch_array($sql))
          {
            
    $this->set_content_data('PRODUCTS_ISBN'$products_item_codes['code_isbn']);
            
    $this->set_content_data('PRODUCTS_UPC'$products_item_codes['code_upc']);
            
    $this->set_content_data('PRODUCTS_MPN'$products_item_codes['code_mpn']);
            
    $this->set_content_data('PRODUCTS_JAN'$products_item_codes['code_jan']);
          }
        return 
    parent::_assignProductData();
            }
    }
    elseif (isset(
    $_GET['products_id'])) {
            
    $actual_products_id = (int) $_GET['products_id'];
            
    $sql xtc_db_query("SELECT * FROM products_item_codes WHERE products_id = '$actual_products_id'");
            while (
    $products_item_codes xtc_db_fetch_array($sql))
          {
            
    $this->set_content_data('PRODUCTS_ISBN'$products_item_codes['code_isbn']);
            
    $this->set_content_data('PRODUCTS_UPC'$products_item_codes['code_upc']);
            
    $this->set_content_data('PRODUCTS_MPN'$products_item_codes['code_mpn']);
            
    $this->set_content_data('PRODUCTS_JAN'$products_item_codes['code_jan']);
          }
        return 
    parent::_assignProductData();
    }
    }
    }
    ?>
    2. Die Datei templates/Honeygrid/module/product_info/standard.html (evtl. USERMOD) wie folgt editieren (item codes, die nicht angezeigt werden sollen, einfach weglassen):
    PHP-Code:
    {if $PRODUCTS_MODEL !='' || $SHOW_PRODUCTS_MODEL || $SHIPPING_NAME || $SHOW_SHIPPING_TIME || $PRODUCTS_QUANTITY || $SHOW_PRODUCTS_QUANTITY || $additional_fields}
                                                    <
    dl class="dl-horizontal">
                                                            {include 
    file="get_usermod:{$tpl_path}snippets/product_info/model.html"}
                                                            {if 
    $PRODUCTS_EAN || $SHOW_PRODUCTS_EAN}<dt class="col-xs-4 text-left">{$txt.text_ean}</dt><dd class="col-xs-8"><span class="products-ean-value">{$PRODUCTS_EAN}</span></dd>{/if}
                                                            {if 
    $PRODUCTS_ISBN || $SHOW_PRODUCTS_ISBN}<dt class="col-xs-4 text-left">{$txt.text_isbn}</dt><dd class="col-xs-8"><span class="products-ean-value">{$PRODUCTS_ISBN}</span></dd>{/if}
                                                            {if 
    $PRODUCTS_UPC || $SHOW_PRODUCTS_UPC}<dt class="col-xs-4 text-left">{$txt.text_upc}</dt><dd class="col-xs-8"><span class="products-ean-value">{$PRODUCTS_UPC}</span></dd>{/if}
                                                            {if 
    $PRODUCTS_MPN || $SHOW_PRODUCTS_MPN}<dt class="col-xs-4 text-left">{$txt.text_mpn}</dt><dd class="col-xs-8"><span class="products-ean-value">{$PRODUCTS_MPN}</span></dd>{/if}
                                                            {if 
    $PRODUCTS_JAN || $SHOW_PRODUCTS_JAN}<dt class="col-xs-4 text-left">{$txt.text_jan}</dt><dd class="col-xs-8"><span class="products-ean-value">{$PRODUCTS_JAN}</span></dd>{/if}
                                                            {include 
    file="get_usermod:{$tpl_path}snippets/product_info/shipping_time.html"}
                                                            {include 
    file="get_usermod:{$tpl_path}snippets/product_info/stock.html"
    3. In den Dateien product_info.lang.inc.php unter /<shoproot>lang/english/user_sections/ und /<shoproot>/lang/german/user_sections/ wie folgt editieren.
    English:
    PHP-Code:
    $t_language_text_section_content_array = array
    (
            
    'text_ean'                      => 'EAN No.:',
            
    'text_isbn'                     => 'ISBN No.:',
            
    'text_upc'                      => 'UPC No.:',
            
    'text_mpn'                      => 'MPN No.:',
            
    'text_jan'                      => 'JAN No.:',
    ); 
    Deutsch:
    PHP-Code:
    $t_language_text_section_content_array = array
    (
            
    'text_ean'                      => 'EAN-Nr.:',
            
    'text_isbn'                     => 'ISBN-Nr.:',
            
    'text_upc'                      => 'UPC-Nr.:',
            
    'text_mpn'                      => 'MPN-Nr.:',
            
    'text_jan'                      => 'JAN-Nr.:',
    ); 
    Das war es auch schon für das Anzeigen der products_item_codes. Nicht vergessen Caches zu löschen.

    Zu erklären, wie das alles in die Suche zu implementieren ist, wäre mir jetzt ein bisschen zu aufwendig und langwierig, daher hab' ich auch alles als zip-Datei angehängt. Einfach ein diff zwischen originalen und editierten Dateien drüberlaufen lassen oder manuell nach products_item_codes UND isbn, oder upc, oder mpn, oder jan in den Zeilen der jeweiligen Dateien suchen und in eure originalen Dateien einfügen. Die modifizierte Datei der LiveSearchAjaxHandler.inc.php ist auch im zip, somit funktioniert auch der Live Search. Wie erwähnt, vielleicht findet sich jemand, der das alles updatesicher hinbekommt (einige scheinen ja bei bei sowas regelrecht Hitzewallungen zu bekommen, siehe 'ne gewisse Dame im offiziellen gambio-forum) , mir hat das so jedenfalls gereicht!

    Cheers,
    fox
    Angeh?ngte Dateien

  • #2
    AW: product item codes (isbn, upc, mpn, jan) im Frontend anzeigen lassen + Suche

    Vielen Dank für die Anleitung
    Vielleicht könntest du das angehängte Archiv nochmal austauschen!? Die Verzeichnisstruktur darin ist kaputt!
    Funktionen testen in unserem immer aktuellen Gambio Testshop
    Aktuelle Infos zu unserem Gambio Testshop
    Welches Update für welche Version?
    Bilder und Dateien korrekt hochladen und anzeigen
    Wenn nichts mehr geht: Caches komplett leeren
    __________________________________________________ ________________
    Dienstleistungen: iNTERFILE Datenrettung und Service seit 1998
    Blog: Mitwachsende Kinderzimmer von Flexa
    Projekt: Flexa Kinderbetten und Hochbetten bei kindermoebel-24 günstig auf Rechnung kaufen
    System: Gambio GX v4.3.3.1 / PHP Version 7.4.80 / MySQL 5.5.62
    Betreuung durch IT-Recht-Kanzlei München

    Kommentar


    • #3
      AW: product item codes (isbn, upc, mpn, jan) im Frontend anzeigen lassen + Suche

      Oops! Sorry, hatte ich vergessen, ist nur meine eigene kaputte Art, damit ich im terminal schneller cp&pasten kann. Hier das zip-File mit normaler Verzeichnisstruktur.
      Angeh?ngte Dateien

      Kommentar

      L?dt...
      X