GX3 eigene Produktfelder durch overloads

Thema wurde von Anonymous, 5. Dezember 2017 erstellt.

  1. Anonymous

    Anonymous Mitglied

    Registriert seit:
    25. August 2015
    Beiträge:
    17
    Danke erhalten:
    0
    Danke vergeben:
    3
    Hallo.

    Ich beschäftige mich erst seit kurzem mit Gambio und bräuchte eure Hilfe.
    Es geht mir darum, ein eigenes Produktfeld zu erstellen/programmieren, welches unter dem Artikel im Frontend erscheint.
    Durchs "overloaden" sollte dies ja möglich sein.

    Ich habe die GX3.7.1 Version.
    Ich habe bereits einen overload für AdminEditProductExtenderComponent erstellt, welcher auch im Backend sichtbar ist und bis zum Speichern-Vorgang alles macht, was es soll.
    Allerdings kann ich im Backend bei dem Artikel nicht mehr speichern und habe auch entsprechend auch noch keine Ausgabe im Frontend.
    Beim Speichern bekomme ich eine Fehlermeldung:
    "
    Fatal error: Uncaught exception 'InvalidArgumentException' with message 'StringType: Invalid argument value given (expected string got NULL): ' in ..GXEngine/Shared/Types/StringType.inc.php:43 Stack trace: #0
    ..admin/includes/modules/set_product_data.inc.php(114): StringType->__construct(NULL) #1
    ..admin/categories.php(325): require('/homepages/13/d...') #2 {main} thrown in
    ..GXEngine/Shared/Types/StringType.inc.php on line 43
    "

    Kann es damit zusammenhängen, dass ich noch den AdminCategoriesExtenderComponent überladen muss?
    leider finde ich dazu bei Gambio nichts, außer einer Kurzbeschreibung unter Tutorials( aber kein Tutorial) und einem älteren Forenbeitrag, mit dem ich mir leider bisher nicht helfen konnte.

    In meinem Extender für AdminEditProductExtenderComponent gebe ich ein Dropdown- Menü aus, in welchem ich jeweils etwas auswählen kann.
    Bei der Fehlermeldung, die ich beim Speichern sehe, wird deutlich, dass per 'Post:' die jeweilige id aus dem Dropdown-Menü gesendet wird.
     
  2. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Bevor Du da weiter bastelst, es gibt im Gambio sogenannte Zusatzufelder, die im Artikel angezeigt werden.
    Die reichen Dir nicht?

    Wenn nicht, schau mal hier:
    (Link nur für registrierte Nutzer sichtbar.)

    Da geht es um Extrafelder.
     
  3. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.668
    Danke erhalten:
    1.263
    Danke vergeben:
    300
    Hi,

    die Zeile 114 in der set_product_data.inc.php lautet:

    PHP:
    $product->setShortDescription(new StringType(xtc_db_prepare_input($_POST['products_short_description_'
                                                                                 
    $languageId])), $languageCode);
    Es scheint also die Artikelkurzbeschreibung nicht übertragen worden zu sein. Hier prüfe bitte einmal dein HTML Code vom Overload. Eventuell hast du ein HTML Tag nicht richtig geschlossen was sich auf die anderen Felder auswirkt und jetzt nicht mehr alle Daten per Post übermittelt was der Shop aber unbedingt benötigt.
     
  4. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    419
    Danke erhalten:
    36
    Danke vergeben:
    53
    hol ich nochmal hoch...wie hast du denn neue eingabefelder via extender in produktseiten im admin reinbekommen?

    PHP:
    $this->v_output_buffer['top'] = array();
            
    $this->v_output_buffer['bottom'] = array();
            
    $this->v_output_buffer['left'] = array();
            
    $this->v_output_buffer['right'] = array();
    ist doch alles leer, und der hauptbereich fehlt hier komplett?
     
  5. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.668
    Danke erhalten:
    1.263
    Danke vergeben:
    300
    @ff-webdesigner Die Bereiche sind im Original Code immer leer, die werden erst mit den Overloads gefüllt.

    Siehe (Link nur für registrierte Nutzer sichtbar.)