আমি নোড অবজেক্ট থেকে নোড টাইপ লেবেলটি কীভাবে পাব?


12

আমি ড্রুপাল 8-এ নোডের অবজেক্ট থেকে নোডের বান্ডিল লেবেল (নোড টাইপ লেবেল) পাওয়ার চেষ্টা করছি।

এটি কাজ করে তবে দীর্ঘায়িত বলে মনে হচ্ছে:

$node_type = \Drupal::entityManager()->getStorage('node_type')->load($node->getType())->get('name');

কম জটিল উপায়ে সম্ভব, বান্ডিল লেবেল পাওয়ার আরও কি উপায় আছে?


6
$node->type->entity->label();একটু বেশি কৌতূহল বোধহয়? আমি নিশ্চিত নই যে বর্তমানে একটি সংক্ষিপ্ত সংস্করণ রয়েছে
ক্লাইভ

2
টুইগ টেম্পলেটটিতেও কাজ করে: {ode node.type.entity.label}}
Oknate

উত্তর:




6

আপনি যদি ডাবের লেবেল চান

{{ node.type.entity.label }}

5

এই কোড ব্যবহার করে দেখুন।

use Drupal\node\Entity\NodeType;

$types = NodeType::loadMultiple();
$bundle = $node->bundle(); 
$type_name = $types[$bundle]->label();

2
এটি কেবল একটির লেবেল পেতে সমস্ত নোডের প্রকারগুলি লোড করে। কিছুটা অদক্ষ, আপনি যেটি চান তার চেয়ে বেশি লোড করা ভাল।
বারদির

একমত! এটি কেবলমাত্র কোনও এসএসওয়েটের কোডের ভিত্তিতে নয়।
মিস্টার

এটি নির্দেশ করার জন্য @ বার্ডির থেক্স। আমি প্রশ্নটি গিরগিটি করতে চাই না, তাই আমি এটি গ্রহণযোগ্য উত্তর হিসাবে ছেড়ে দেব। আমি পরিবর্তে কোডটি আমার নিজের উত্তরে ব্যবহার করছি।
কোনও এসসিওয়েট

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.