19 Je peux créer un nœud en utilisant le code suivant: $node = \Drupal::entityTypeManager()->getStorage('node')->create($array); Mais si j'ai l'ID de nœud, comment puis-je modifier un nœud? nodes 8 entities BOES la source que voulez-vous éditer? quel champ? Yusef Réponses: 23 Vous pouvez essayer ce code <?php use Drupal\node\Entity\Node; $node = Node::load($nid); //set value for field $node->body->value = 'body'; $node->body->format = 'full_html'; //field tag $node->field_tags = [1]; //field image $field_image = array( 'target_id' => $fileID, 'alt' => "My 'alt'", 'title' => "My 'title'", ); $node->field_image = $field_image; //save to update node $node->save(); MrD la source Cette réponse n'est pas la bonne façon, la réponse d'Ivan est la bonne réponse Kevin 6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno la source et tel que modifié par exemple le champ personnalisé: es. field_mycustomfield ??? BOES ou $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad du 2 node_load est obsolète dans Drupal 8.x, sera supprimé avant Drupal 9.0. Utilisez \ Drupal \ node \ Entity \ Node :: load (). Réf https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak la source 1 Vous pouvez utiliser l'API de l'entité pour effectuer les mises à jour. $node = Node::load($id); if ($node instanceof NodeInterface) { try { $node->set('title', 'My Title'); $node->set('field_textfield', 'My textfield value'); $node->save(); } catch (\Exception $e) { watchdog_exception('myerrorid', $e); } } hugronaphor la source 0 L'ancienne méthode fonctionne aussi pour moi: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov la source
23 Vous pouvez essayer ce code <?php use Drupal\node\Entity\Node; $node = Node::load($nid); //set value for field $node->body->value = 'body'; $node->body->format = 'full_html'; //field tag $node->field_tags = [1]; //field image $field_image = array( 'target_id' => $fileID, 'alt' => "My 'alt'", 'title' => "My 'title'", ); $node->field_image = $field_image; //save to update node $node->save(); MrD la source Cette réponse n'est pas la bonne façon, la réponse d'Ivan est la bonne réponse Kevin 6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno la source et tel que modifié par exemple le champ personnalisé: es. field_mycustomfield ??? BOES ou $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad du 2 node_load est obsolète dans Drupal 8.x, sera supprimé avant Drupal 9.0. Utilisez \ Drupal \ node \ Entity \ Node :: load (). Réf https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak la source 1 Vous pouvez utiliser l'API de l'entité pour effectuer les mises à jour. $node = Node::load($id); if ($node instanceof NodeInterface) { try { $node->set('title', 'My Title'); $node->set('field_textfield', 'My textfield value'); $node->save(); } catch (\Exception $e) { watchdog_exception('myerrorid', $e); } } hugronaphor la source 0 L'ancienne méthode fonctionne aussi pour moi: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov la source
6 $node = \Drupal::entityTypeManager()->getStorage('node')->load($nid); kiamlaluno la source et tel que modifié par exemple le champ personnalisé: es. field_mycustomfield ??? BOES ou $node = \Drupal::entityManager()->getStorage('node')->load($nid); JF Kiwad du 2 node_load est obsolète dans Drupal 8.x, sera supprimé avant Drupal 9.0. Utilisez \ Drupal \ node \ Entity \ Node :: load (). Réf https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak la source 1 Vous pouvez utiliser l'API de l'entité pour effectuer les mises à jour. $node = Node::load($id); if ($node instanceof NodeInterface) { try { $node->set('title', 'My Title'); $node->set('field_textfield', 'My textfield value'); $node->save(); } catch (\Exception $e) { watchdog_exception('myerrorid', $e); } } hugronaphor la source 0 L'ancienne méthode fonctionne aussi pour moi: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov la source
2 node_load est obsolète dans Drupal 8.x, sera supprimé avant Drupal 9.0. Utilisez \ Drupal \ node \ Entity \ Node :: load (). Réf https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x webdevfreak la source
1 Vous pouvez utiliser l'API de l'entité pour effectuer les mises à jour. $node = Node::load($id); if ($node instanceof NodeInterface) { try { $node->set('title', 'My Title'); $node->set('field_textfield', 'My textfield value'); $node->save(); } catch (\Exception $e) { watchdog_exception('myerrorid', $e); } } hugronaphor la source
0 L'ancienne méthode fonctionne aussi pour moi: $node=node_load($nid); print_r($node->body->format); $node->body->format='full_html'; print_r($node->body->format); $node->save(); Boris Ayupov la source
Réponses:
Vous pouvez essayer ce code
la source
la source
$node = \Drupal::entityManager()->getStorage('node')->load($nid);
node_load est obsolète dans Drupal 8.x, sera supprimé avant Drupal 9.0. Utilisez \ Drupal \ node \ Entity \ Node :: load ().
Réf https://api.drupal.org/api/drupal/core%21modules%21node%21node.module/function/node_load/8.3.x
la source
Vous pouvez utiliser l'API de l'entité pour effectuer les mises à jour.
la source
L'ancienne méthode fonctionne aussi pour moi:
la source