Ü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.