উপরের উদাহরণটি যথেষ্ট কাছাকাছি কিন্তু এখনও সঠিক নয়। ধারণাটি হ'ল আপনাকে নিজের ব্লকের উদাহরণের নিজস্ব আইডি নিয়ে আসতে হবে (আমার ক্ষেত্রে devel_execute_php_1112 (সম্ভবত আমি এটিকে 1112 বার কাজ করার চেষ্টা করেছি, এটি রহস্যই থাকবে))) এবং তারপরে আসল ব্লক আইডি (যেটি সেই টীকাতে কাস্টম ব্লকের জন্য ঘোষিত হয়েছে) এবং থিম। তারপরে কেবল অঞ্চলটি সেট করুন এবং আপনি যেতে ভাল। কাঙ্ক্ষিত অঞ্চলের অধীনে একটি ব্লকের উদাহরণ তৈরি করেছে।
$blockEntityManager = \Drupal::service('entity.manager')->getStorage('block');
$block = $blockEntityManager->create(
array(
'id'=> 'devel_execute_php_1112',
'plugin' => 'devel_execute_php',
'theme' => 'seven'
)
);
$block->setRegion('content');
$block->save();
edit1: আমি পরে উপরের মন্তব্যটি পরে দেখেছি - এবং এটি ঠিক। এটি কেবল পরিষ্কার নয় যে আইডিটি এমন কিছু যা আপনার সামনে আসতে হবে। আমার খোঁড়া মন্তব্যের জন্য মুক্তি হিসাবে আমি কীভাবে কাস্টম ব্লক সত্তার একটি ব্লক উদাহরণ তৈরি করতে পারি তার একটি সমাধান পোস্ট করব:
$blockEntityManager = \Drupal::service('entity.manager')->getStorage('block');
$block = $blockEntityManager->create(
array(
'id'=> 'ggggggggsssssss',
'plugin' => 'block_content:79d53b4e-9e60-4f97-befc-101da919bb7a',
'theme' => 'visitb_he_theme'
)
);
$block->setRegion('content');
মূলত একই তবে প্লাগইনের জন্য আপনি ব্লক কনটেন্ট লেখেন: uuid_of_custom_ block_entity_instance