2012-03-27 6 views
0

Ich entwickle eine Site (D6), die Geocode-Lookups jedes Mal wenn ein Knoten eingefügt oder aktualisiert wird, der Knoten hat eine Adresse Textfeld und versteckte Felder für ein lat/lng-Paar und während hook_nodeapi möchte ich diese Geokodierungsfunktion aufrufen.hook_nodeapi recusrion hell (Aufruf von node_save während der Aktualisierung op)

Das Problem ist, dass der Geocodierer dieses neue Latlng-Paar an den Knoten speichern muss, der wiederum hook_nodeapi aufruft, und somit wurde mein Rekursionsproblem erzeugt.

Was ist die beste Methode, um diese Kopfschmerzen zu vermeiden?

Antwort

0

Wenn Sie völlig sicher sind, dass Sie nicht Geocoder Verhalten ändern können, können Sie einfach Abhilfe verwenden:

static $geocoded_nodes = array(); 

if (!$geocoded_nodes[$node->nid]) { 
    $geocoded_nodes[$node->nid] = TRUE; 
    call_geocoder_stuff(). 
} 

Als Alternative können Sie können auch nicht verwendet Feld hinzuzufügen versuchen zu Knoten weitergegeben Logik Geocoder.

Ich bin mir nicht sicher, ob dieses Feld nicht auf node_save Logik verworfen wird, aber das sollte funktionieren.

Verwandte Themen