Tel. 06151 / 39 10 793

Taxonomy auf neue Nodes speichern

Nachdem ich heute zunächst ein paar Schwierigkeiten hatte neue Node programmatisch inklusive Taxonomy zu erstellen und nun rausgefunden habe wie man das machen kann, möchte ich andern Drupalanern diese Mühen ersparen.

Es sind eine kleine Handvoll Details dabei zu beachten.

Zunächst ein Beispiel:

$brandTerm = taxonomy_get_term_by_name($data['brand']);
$catTerm = taxonomy_get_term_by_name($data['cat']);
$materialTerm = taxonomy_get_term_by_name($data['material']);
$patternTerm = taxonomy_get_term_by_name($data['pattern']);

$imagetagNode->taxonomy[$brandTerm[0]->tid] = $brandTerm[0];
$imagetagNode->taxonomy[$catTerm[0]->tid] = $catTerm[0];           
$imagetagNode->taxonomy[$materialTerm[0]->tid] = $materialTerm[0];
$imagetagNode->taxonomy[$patternTerm[0]->tid] = $patternTerm[0];        

Im obigen Beispiel hole ich mir Terme über einen assoziativen Begriff.
Die Terme liegen als Arrays mit Object-Feldern vor.

Beim Setzen der Terme auf das Taxonomy-Feld unseres Nodes, muss ich daran denken die Term-ID assoziativ zum Term-Object selbst anzugeben.

$node->taxonomy[TID] = TERMOBJECT;

An diesem Detail happerte es bei mir bis ich durch viel Googelei darauf stiess.
Der Teufel steckt gern im Detail.

Ich hoffe das hilft einem andern Verzweifelten.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
CAPTCHA
Diese Frage hat den Zweck zu testen, ob Sie ein menschlicher Benutzer sind und um automatisierten Spam vorzubeugen.
So finden Sie uns