Zusatzfelder in product_listing_v1 einbauen

Thema wurde von Andreas Schilke, 11. August 2017 erstellt.

  1. Andreas Schilke

    Andreas Schilke Aktives Mitglied

    Registriert seit:
    6. September 2012
    Beiträge:
    28
    Danke erhalten:
    0
    Danke vergeben:
    4
    Hallo,
    seit über einem Jahr habe ich in meinem Shop nichts mehr programmtechnisch machen müssen - er lief einfach. Nun habe ich einen Klon auf Version 3.4.3 upgedated. Ein Update auf 3.6.0 soll folgen.
    Nachdem ich mich nun intensiv damit beschäftigt habe stelle ich fest, dass sich offenbar in den letzten 18 Monaten SEHR VIEL getan hat. Insbesondere auch bei Overloads. Nun habe ich auch schon das Forum und das Internet durchsucht, aber offenbar keine aktuelle Beschreibung gefunden, wie ich zusätzliche Felder in die product_listing_v1 integrieren kann. Gestern und heute habe ich zusammen schon so um die 10 Stunden gesessen aber letztlich nichts richtig hinbekommen. Die gefundenen Beschreibungen scheinen wohl veraltet zu sein. Kann mir Jemand bitte etwas unter die Arme greifen?
    Ich möchte in die product_listing_v1 neun Zusatzfelder (zusatzfeld_1 bis zusatzfeld_9) einbauen. Diese Felder habe ich in der Datenbank-Tabelle categories_description manuell als VAR255 bzw. TEXT eingefügt. Wie bekomme ich nun Gambio dazu, dass ich diese Felder in der product_listing_v1 ausgeben kann?
    Ein Einbau der Eingabefelder im ADMIN-Bereich ist nicht notwendig, da ich die Daten meines Shops mehrfach direkt aus meiner Warenwirtschaft mittels eines Connectors update.

    Ich bin wirklich für jede Hilfe dankbar.
     
  2. Andreas Schilke

    Andreas Schilke Aktives Mitglied

    Registriert seit:
    6. September 2012
    Beiträge:
    28
    Danke erhalten:
    0
    Danke vergeben:
    4
    Ich bin ein wenig überrascht, so gar nichts zu hören.
    - kein Tipp, wie es geht
    - keine Schelte, es wäre woanders schon beschrieben und ich müsse mal richtig suchen
    - keine Rückfrage, wozu überhaupt

    Vielleicht findet sich ja noch ein Rat ...
     
  3. Anonymous

    Anonymous Beta-Held

    Registriert seit:
    22. März 2015
    Beiträge:
    2.381
    Danke erhalten:
    640
    Danke vergeben:
    414
    Suche mal nach "Extra Felder" vielleicht funktioniert das auch in der product_listing_v1
     
  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 Extrafelder gehen auch in der product_listing.
    Du brauchst einen Overload mit der Abfrage der Datenbank und Du musst Template-Dateien anpassen.
    Wenn Du Honeygrid nutzt wäre das in der :
    templates/ Honeygrid/ snippets/ product_listing/ product.html
    und gegebenenfalls in der
    templates/ Honeygrid/ snippets/ product_listing/ product_grid_only.html

    Bzw. in den -USERMOD-Versionen davon.

    Das ist der Inhalt von meiner
    GXUserComponents/ overloads/ ProductListingContentControl/ extrafeld_ProductListingContentControl.inc.php:

    Code:
    <?php
    
    class extrafeld_ProductListingContentControl extends extrafeld_ProductListingContentControl_parent
    {   
    /* public function add_product_data(array &$p_products_array, array $p_product_array, product $p_coo_product)
        {
        array('PRODUCTS_INHALT' => $coo_product->data['p.products_inhalt']);
        array('PRODUCTS_SIZE' => $coo_product->data['p.products_size']);
      }
    
    }
    {*/
    
      public function getSelectFields()
      {
        $select_fields = array('p.products_inhalt',
                               'p.products_size',);
    
        return $select_fields;
      }
    
    public function extend_proceed($p_action)
       {
           $t_sql =  $this->sql_query;
    
           $select_fields = implode(",",$this->getSelectFields());
    
           $t_sql = str_replace('FROM',','.$select_fields.' FROM',$t_sql);
    
           $this->sql_query = $t_sql;
    
           parent::extend_proceed($p_action);
       }
    }

    Vorsicht: bei mir sind die Felder in der Datenbank-Tabelle products, das musst Du auf Deine Tabelle ändern!

    Ob das dann reicht, oder Du noch eine andere Datei brauchst, kann ich Dir so aber nicht sagen.
    Ich habe die Extrafelder an diversen Stellen ausgegeben, und entsprechend viele Dateien dazu :)