প্রোগ্রামযুক্তভাবে একটি নোড আপডেট করা হচ্ছে


19

আমি নিম্নলিখিত কোড ব্যবহার করে একটি নোড তৈরি করতে পারি:

$node = \Drupal::entityTypeManager()->getStorage('node')->create($array);

তবে আমার কাছে নোড আইডি থাকলে আমি কীভাবে একটি নোড সম্পাদনা করব ?


আপনি কি সম্পাদনা করতে চান? কোন মাঠ?
ইউসুফ

উত্তর:


23

আপনি এই কোড চেষ্টা করতে পারেন

<?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();

এই উত্তরটি ভাল উপায় নয়, ইভানের উত্তরটি ভাল উত্তর
কেভিন

6
$node = \Drupal::entityTypeManager()->getStorage('node')->load($nid);

এবং যেমন পরিবর্তিত যেমন কাস্টম ক্ষেত্র: এস। ফিল্ড_মাইকাস্টমফিল্ড ???
BOES

বা $node = \Drupal::entityManager()->getStorage('node')->load($nid);
জেএফ কিওয়াদ


1

আপডেটগুলি সম্পাদন করতে আপনি সত্তার API ব্যবহার করতে পারেন।

$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);
  }
}

0

পুরানো পদ্ধতিটি আমার পক্ষেও কার্যকর:

$node=node_load($nid);
print_r($node->body->format);
$node->body->format='full_html';
print_r($node->body->format);
$node->save();
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.