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
searchstring-Parameter prüfen (Pflichtfeld)urldecode()auf den Suchstring- Redirect zu
frontend.search.pagemitsearch-Parameter
Parameter
| Parameter | Pflicht | Beschreibung |
|---|---|---|
searchstring | ✅ Ja | URL-kodierter Suchbegriff |
Response
HTTP 302 Redirect
Location: /search?search={decodedSearchString}
SOURCING lässt die ConnectorSession aktiv – der Käufer kann in den Suchergebnissen Artikel in den Warenkorb legen und normal weiter einkaufen.
BACKGROUND_SEARCH
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
searchstring-Parameter prüfen (Pflichtfeld)- Shopware
SearchPageLoader::load()mit dem Suchbegriff im$dataFeedContext ProductCollectionaus den Suchergebnissen extrahieren- Alle Produkte via
OciProductService::addProductsToCart()in$cartContexthinzufügen - OCI-Formular aufbauen:
OciConnectorResponseGenerator::buildForm()(mit$dataFeedContext) - Session löschen
- Twig-Template rendern
Parameter
| Parameter | Pflicht | Beschreibung |
|---|---|---|
searchstring | ✅ Ja | URL-kodierter Suchbegriff |
Response
@AgiqonConnector/storefront/plugin/oci-background-search.html.twig
Template-Variablen:
| Variable | Typ | Beschreibung |
|---|---|---|
ociForm | OciFormData | OCI-Formular mit allen Suchergebnis-Produkten |
AgiqonOciStartIndex | int | Start-Index des Systems |
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.