Kundenspezifische Artikelnummern (B2B-Shop)

Thema wurde von iloki, 8. Juli 2020 erstellt.

  1. iloki

    iloki Erfahrener Benutzer

    Registriert seit:
    15. August 2017
    Beiträge:
    54
    Danke erhalten:
    3
    Danke vergeben:
    3
    Hallo Gambio-Freunde,

    in einem aktuellen Projekt haben wir die Anfrage nach einer Erweiterung bzgl. Kundenspezifisichen Artikelnummern. Jeder Artikel kann eine kunden-eigene Artikelnummer haben. Diese Nummer soll zudem über die Suche genutzt werden können und auf der Bestell-Bestätigung erscheinen.

    Hat vielleicht jmd. so etwas schon einmal realisiert?

    Individuelle Wunsch-Lieferdaten hatten wir schon einmal und per Modul umgesetzt (gespeichert in einer sep. Tabelle) welches so Updatefreundlich implemetiert werden konnte.

    In der Richtung würde ich ebenfalls bei einer Individuellentwicklung denken (natürlich je Artikel+Kunde und nicht je Bestellung ;)) - wollte dennoch mal in die Runde gefragt haben bevor wir hiermit loslegen.
    Ich würde ansonsten eine sep. Tabelle mit Artikel-Nr, Kunden-Nr und Kunden-Artikel-Nr. erstellen und diese an den entsprechenden Stellen einbinden.

    Vielleicht hat der ein oder schon etwas in der Richtung getan oder einfach nur einen Tipp/Hinweis für uns!
    Vielen Dank
     
  2. MosTec

    MosTec Erfahrener Benutzer

    Registriert seit:
    10. Februar 2014
    Beiträge:
    182
    Danke erhalten:
    15
    Danke vergeben:
    23

    Könnte man das nicht zB. über die Zusatzfelder machen?
    Dann würde die Nummer aber auch öffentlich im Artikel stehen.
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    15. Januar 2020
    Beiträge:
    428
    Danke erhalten:
    144
    Danke vergeben:
    523
    Also ich habe einen ziemlich einfachen aber auch nicht so professionellen Vorschlag, Ich würde die Kundennummern unten in der Artikelbeschreibung schreiben und Farblich dem Hintergrund anpassen. Dann die "Suche in Artikelbeschreibungen" aktivieren und der Kunde findet seinen Artikel unter seiner Artikelnummer und keiner sieht es.

    Ich weiß nicht die beste Lösung ABER es ist eine Lösung.
     
  4. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Das kann aber von Google negativ bewertet werden.
    Es gibt aber die internen Suchbegriffe, die dafür gehen könnten.
    Das erscheint aber nicht auf der Bestellbestätigung.
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    15. Januar 2020
    Beiträge:
    428
    Danke erhalten:
    144
    Danke vergeben:
    523
    Ah okay, dann würde ich davon natürlich abraten. Stimmt die "Zusatzbegriffe für Suche" gehen natürlich viel besser.
     
  6. iloki

    iloki Erfahrener Benutzer

    Registriert seit:
    15. August 2017
    Beiträge:
    54
    Danke erhalten:
    3
    Danke vergeben:
    3
    Hallo zusammen, besten Dank für die Gedanken zum Thema. Leider hilft uns dies bisher noch nicht so recht weiter.

    Mal einen Zwischenstand unserer Gedanken:

    1. Additional Fields - nicht möglich da "nur" pro Kunde und nicht pro Kunde & Artikel
    2. GX Customizer - eigentlich gedacht für "Kunden-Bestell-Spezifische" Anpassungen (bspw. Beschriftung mitliefern)
      1. Vorteil: Vieles an Logik wäre schon grundsätzlich vorhanden und könnte genutzt und erweitert werden.
      2. Ergänzung Order Prozess: Erfassung der Nr. mit der Bestellung, würde mit Absendung in eine eigene Tabelle eingetragen (Kd.-Nr., ArtNr, Kunden-ArtNr.)
      3. Eingabe: Über Warenkorb (inkl. Korrektur) und CSV-Upload (Masseneingabe)
      4. Ausgabe: Bestellung, Rechnung (Export in Wawi)
    3. Zusatzfeld am Artikel

    Im Fall 2.) Wir prüfen gerade wie und wo die Implementierung ansetzen könnte und ob die Nutzung der Funktion an der Stell sinn ergibt.

    Im Fall 3.) Ebenfalls hier wäre unklar derzeit wo man am besten ansetzt (ProductRead/-Write Service oder ProductAttribute-Service?). Wobei wir hier das Problem sehen nicht ausreichend Overload/Extender-Möglichkeiten zu sehen und so doch an der ein- oder anderen Stelle Codeanpassungen vornehmen zu müssen.

    Falls noch jmd. Ideen dazu hat - wir freuen uns auf jegliche Rückmeldung!
     
  7. iloki

    iloki Erfahrener Benutzer

    Registriert seit:
    15. August 2017
    Beiträge:
    54
    Danke erhalten:
    3
    Danke vergeben:
    3
    Wir haben es jetzt über den GX Customizer gelöst:
    ein Overload im ProductInfoContentView schreibt in der prepare_data die per SQL Query ausgelesenen Daten aus der Custom Tabelle in eine Variable, die im OVERLOAD standard.php Template im Ordner module/product_info per JS in das GX Customizer Feld schreibt. Ein weiteres Overload im GMGPrintOrderElements hängt sich an die set_element_value und schreibt anschließend den Wert in die Custom Tabelle.

    Soweit, sogut - leider hänge ich jetzt noch an der Suche: der Benutzer soll nach seinen Artikelnummern suchen können.
    Ich hatte hierzu gehofft, ich kann mich an den ProductListProvider hängen und mittels
    Code:
    $this->db->where('products_customer_article_numbers.customers_id', (int)$_SESSION['customer_id']);
    $this->db->where('products_customer_article_numbers.customer_article_nr', $this->conditions);
    einfach an die Artikelsuche dranhängen kann ... leider scheint das nicht so funktionieren - oder ich habe die falsche Stelle dafür ...

    Hat jemand einen Tipp für mich?
     
  8. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.694
    Danke erhalten:
    886
    Danke vergeben:
    288
    Ist das immer derselbe Kunde mit immer den gleichen eigenen Artikelnummern, oder sind das verschiedene Kunden mit jeweils anderen Artikelnummern?
     
  9. iloki

    iloki Erfahrener Benutzer

    Registriert seit:
    15. August 2017
    Beiträge:
    54
    Danke erhalten:
    3
    Danke vergeben:
    3
    Jeder Kunde kann seine eigenen Artikelnummern für jeden Artikel haben. Dazu gibt es eine Tabelle, die product_id, customer_id und die Kundenartikelnummer speichert. Ich hoffe, das beantwortet Deine Rückfrage?
     
  10. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.694
    Danke erhalten:
    886
    Danke vergeben:
    288
    OK, dafür hätte ich jetzt keine Lösung.
     
  11. iloki

    iloki Erfahrener Benutzer

    Registriert seit:
    15. August 2017
    Beiträge:
    54
    Danke erhalten:
    3
    Danke vergeben:
    3
    Ich glaube, ich hab's geschafft. Für die normale Suche habe ich die
    ProductListingContentControl mit einem Overload versehen und die komplette Funktion
    build_search_result_sql ersetzt und durch meine zusätzliche Tabelle erweitert ... vielleicht hilft das ja mal jemandem weiter :)