AACsearch
Connectoren & Widget

PrestaShop-Modul

Das AACsearch-Modul für PrestaShop 8.x installieren und konfigurieren.

Status: Frühe Vorschau. Das Modul-Entwurf ist funktional — Handshake, Vollsynchronisierung, Delta-Synchronisierung und Widget-Injektion funktionieren alle. Installationspaketierung und Admin-UI-Feinschliff sind noch in Arbeit. Erwarten Sie Kinderkrankheiten.

Das AACsearch PrestaShop-Modul (modules/aacsearch) integriert Ihren PrestaShop-8.x-Katalog mit AACsearch. Es übernimmt:

  • Produkte über die Connector-API nach AACsearch exportieren
  • Delta-Synchronisierungen bei Produkt-Erstellen-/Aktualisieren-/Löschen-/Lagerbestand-Ereignissen auslösen
  • Das gehostete Such-Widget in den <head> Ihres Storefronts injizieren

Anforderungen

  • PrestaShop 8.x (kompatibel mit PS 9 — Hook-API ist identisch)
  • PHP 7.4 oder höher
  • cURL-Erweiterung aktiviert
  • Ein AACsearch-Konto mit mindestens einem erstellten Suchindex
  • Ein Connector-Token (ss_connector_*) für diesen Index

Modul-Dateilayout

modules/aacsearch/
  aacsearch.php                           # Hauptmodul-Klasse — installieren/deinstallieren/hooks
  config.xml                              # Moduldeskriptor (Name, Version, Autor)
  index.php                               # Verzeichnisauflistungsschutz
  classes/
    AacSearchClient.php                   # HTTP-Client, der alle Connector-API-Aufrufe verpackt
    AacSearchProductExporter.php          # Normalisiert PS-Produkte → ProductDocument-Format
    AacSearchSyncQueue.php                # Batcht Produkte und verwaltet Retry-Zustand
  controllers/
    admin/
      AdminAacSearchController.php        # Admin-Einstellungen + Diagnoseseite
  views/
    templates/
      admin/configure.tpl                 # Einstellungsformular-Template
      hook/widget.tpl                     # Widget-Injektions-Template

Installationsschritte

1. Modul hochladen

Kopieren Sie das Verzeichnis modules/aacsearch/ in Ihr PrestaShop-Verzeichnis modules/. Navigieren Sie dann zu Back-Office → Module → Modulmanager und installieren Sie „AACsearch".

2. Modul konfigurieren

Öffnen Sie die Modulkonfigurationsseite (Module → AACsearch → Konfigurieren) und füllen Sie aus:

FeldBeschreibung
AACsearch-API-URLBasis-URL Ihrer AACsearch-Instanz (z. B. https://app.aacsearch.com)
Projekt-IDIhre Organisations-ID aus dem AACsearch-Dashboard
Connector-TokenDas ss_connector_*-Token, erstellt in Dashboard → Connectoren
Sync aktiviertAutomatische Delta-Synchronisierungen bei Produktereignissen aktivieren
Widget aktiviertDas gehostete Widget in das Storefront injizieren
LocaleStandard-Locale für Suchergebnisse (z. B. de, en)
StandardwährungWährungscode für Preisfelder
Batch-GrößeProdukte pro Synchronisierungsanfrage (Standard: 200, Max: 1000)
Debug-ModusAusführliche Protokolle in /var/logs/aacsearch.log schreiben

3. Verbindung testen

Klicken Sie auf der Einstellungsseite auf Verbindung testen. Dies ruft POST /api/connectors/handshake auf. Eine erfolgreiche Antwort zeigt den verbundenen Index-Slug und bestätigt, dass das Token gültig ist.

4. Vollsynchronisierung ausführen

Klicken Sie auf Vollsynchronisierung, um alle Produkte zu exportieren. Das Modul liest Produkte in Batches (gesteuert durch die Batch-Größen-Einstellung), normalisiert sie mit AacSearchProductExporter und sendet jeden Batch an POST /api/projects/:projectId/sync/full.

Große Kataloge können mehrere Minuten dauern. Fortschritt und etwaige Fehler werden auf der Diagnoseseite angezeigt.

ProductDocument-Format

Der Exporter bildet PrestaShop-Produktfelder auf folgende Dokumentstruktur ab:

{
	"external_id": "123",
	"title": "Blaue Laufschuhe",
	"description": "Leichte Laufschuhe für alle Geländearten",
	"sku": "BRS-42",
	"brand": "Acme Sport",
	"categories": ["Schuhe", "Laufen"],
	"category_ids": ["10", "22"],
	"tags": ["sale", "neu-eingetroffen"],
	"price": 99.99,
	"sale_price": 79.99,
	"currency": "EUR",
	"image_url": "https://myshop.example.com/img/brs-42.jpg",
	"product_url": "https://myshop.example.com/products/brs-42",
	"availability": "in_stock",
	"stock_quantity": 42,
	"attributes": { "color": "blau", "size": "42" },
	"locale": "de"
}

Hooks

Das Modul registriert diese PrestaShop-Hooks für automatische Delta-Synchronisierungen:

HookAuslöser
displayHeaderInjiziert das Widget-<script>-Tag in den Storefront-<head>
actionProductUpdateWird nach dem Speichern eines Produkts ausgelöst — Delta-Sync
actionObjectProductDeleteAfterWird nach dem Löschen eines Produkts ausgelöst — Löschanfrage senden
actionUpdateQuantityLagerbestandsänderung — Delta-Sync auslösen

Widget-Injektion

Wenn Widget aktiviert angehakt ist, gibt das Modul einen Einbettungsschnipsel über den displayHeader-Hook aus:

<script
	src="https://app.aacsearch.com/api/widget/widget.js"
	data-base-url="https://app.aacsearch.com"
	data-api-key="ss_search_***"
	data-index-slug="products"
	data-container="#aac-search"
	data-theme="auto"
></script>

Der data-api-key-Wert ist ein separater ss_search_*-Schlüssel — nicht das Connector-Token. Der Suchschlüssel kann schreibgeschützt sein und ist sicher im Browser einzubetten.

Sie müssen auch das Container-Element zu Ihrem Theme-Template hinzufügen:

<div id="aac-search"></div>

Fehlerbehebung

Verbindungstest schlägt mit invalid_or_revoked_key fehl Stellen Sie sicher, dass das Connector-Token korrekt kopiert wurde und im AACsearch-Dashboard nicht widerrufen wurde. Generieren Sie bei Bedarf ein neues Token.

Vollsynchronisierung abgeschlossen, aber Produkte erscheinen nicht in der Suche Die Synchronisierung reiht Produkte im SearchIngestBuffer ein; die Indizierung ist asynchron. Warten Sie 30–60 Sekunden und versuchen Sie eine Testsuche. Wenn Dokumente immer noch nicht erscheinen, überprüfen Sie den Ingest-Pipeline-Status in Dashboard → Übersicht.

Widget erscheint nicht im Storefront Bestätigen Sie, dass das #aac-search-Container-Element in Ihrem Theme vorhanden ist. Prüfen Sie, dass Widget aktiviert angehakt ist und der data-api-key-Wert ein gültiger ss_search_*-Schlüssel ist (nicht das Connector-Token).

Verwandte Seiten

On this page