Überschreibungen im OXID eShop

Das Connect-Modul verwendet Überschreibungen im Shop um bestimmte Ereignisse zu erkennen z.B. die Änderung eines Artikels. Das Speichern eines Artikels erzeugt einen Eintrag in der Tabelle makaira_connect_changes, wodurch dem Import-Prozess neue Daten signalisiert werden.

Deaktivieren der touch-Hooks

Aufgabe

Ein Importprozess, z.B. aus der Warenwirtschaft, ruft häufig die oxArticle::save() Methode auf, wodurch redundante Schreiboperationen (touch) auf die Tabelle makaira_connect_changes ausgelöst werden.

Lösung

Die touch-Hooks lassen sich während des Imports deaktivieren.

<?php>

/* ... */

// instance of oxArticle
$oxArticle = oxNew('oxarticle');

// disable touch on save, delete, ...
$oxArticle->disableMakairaTouch();

/* ... */

// oxArticle is saved
$oxArticle->save();

/* ... */

// oxArticle is saved again
$oxArticle->save();

// call explicit touch for this product
$oxArticle->touch();
Information

Die Methode disableMakairaTouch wird vom Connect für die Modelle oxArticle, oxCategory, oxManufacturer und oxobject2category bereitgestellt und deaktiviert für die Dauer des PHP-Prozesses den touch beim Speichern oder Löschen der Objekte.