it-swarm.com.de

8 - Programmgesteuertes Hinzufügen von Begriffen zu einem vorhandenen Node

Nach dem Laden eines Knotens mit Node::load mit einem vorhandenen Taxonomiefeld abc füge ich einen neuen Begriff hinzu und speichere? Etwas wie?

  $term = Term::load(123);
  $node->get('abc')->appendItem($term );
6
Nic

Dies ist die richtige Langform, wie im Kommentar von mradcliffe:

$node->get('abc')->appendItem(['target_id' => 123]);

Sie müssen den Begriff nicht laden, sondern verwenden den Begriff id.

Sie können kürzere Versionen verwenden:

$node->abc->appendItem(['target_id' => 123]);
$node->abc[] = ['target_id' => 123];
$node->abc[] = '123';
4
4k4

Überprüfen Sie einfach den folgenden Code, es ist ein Dummy-Code, der getestet werden muss

use \Drupal\node\Entity\Node;

$node = Node::create([
      'type'        => 'article',
      'title'       => 'Druplicon test',
    ]);
    $node->set('myterm_field', 'NEW TERM');
    $node->save();
0
visabhishek