Zum Hauptinhalt springen

SOURCING & BACKGROUND_SEARCH

SOURCING

Klasse: OciSourcingController
Zweck: Leitet den Käufer zur Shopware-Suchergebnisseite mit dem übergebenen Suchbegriff weiter. Der Käufer bleibt eingeloggt und kann die Suchergebnisse normal durchsuchen.

Ablauf

  1. searchstring-Parameter prüfen (Pflichtfeld)
  2. urldecode() auf den Suchstring
  3. Redirect zu frontend.search.page mit search-Parameter

Parameter

ParameterPflichtBeschreibung
searchstring✅ JaURL-kodierter Suchbegriff

Response

HTTP 302 Redirect
Location: /search?search={decodedSearchString}
hinweis

SOURCING lässt die ConnectorSession aktiv – der Käufer kann in den Suchergebnissen Artikel in den Warenkorb legen und normal weiter einkaufen.


Klasse: OciBackgroundSearchController
Zweck: Führt eine Produktsuche im Hintergrund durch, fügt alle Treffer sofort in den Warenkorb ein und gibt das vollständige OCI-Formular zurück. Gedacht für Procurement-Systeme, die eine unsichtbare Suche anstoßen und direkt alle Ergebnisse als OCI-Felder zurückbekommen.

Ablauf

  1. searchstring-Parameter prüfen (Pflichtfeld)
  2. Shopware SearchPageLoader::load() mit dem Suchbegriff im $dataFeedContext
  3. ProductCollection aus den Suchergebnissen extrahieren
  4. Alle Produkte via OciProductService::addProductsToCart() in $cartContext hinzufügen
  5. OCI-Formular aufbauen: OciConnectorResponseGenerator::buildForm() (mit $dataFeedContext)
  6. Session löschen
  7. Twig-Template rendern

Parameter

ParameterPflichtBeschreibung
searchstring✅ JaURL-kodierter Suchbegriff

Response

@AgiqonConnector/storefront/plugin/oci-background-search.html.twig

Template-Variablen:

VariableTypBeschreibung
ociFormOciFormDataOCI-Formular mit allen Suchergebnis-Produkten
AgiqonOciStartIndexintStart-Index des Systems
hinweis

BACKGROUND_SEARCH löscht die ConnectorSession nach der Antwort. DataFields werden für alle gefundenen Produkte aufgelöst – bei großen Suchergebnismengen kann das entsprechend Ressourcen kosten.