দ্রুপাল 8 এ একটি নতুন মেনু সিস্টেম রয়েছে, নেই hook_menu
এবং hook_menu_alter
নেই।
আপনি যদি কোনও বিদ্যমান রুট পরিবর্তন করতে চান তবে দ্রুপাল 7 এর তুলনায় এটি কিছুটা জটিল।
আপনার মডিউলে আপনাকে এমন একটি বর্গ ফাইল তৈরি করতে হবে YOURMODULE/src/Routing/CLASSNAME.php
যা প্রসারিত RouteSubscriberBase
:
/**
* @file
* Contains \Drupal\YOURMODULE\Routing\RouteSubscriber.
*/
namespace Drupal\YOURMODULE\Routing;
use Drupal\Core\Routing\RouteSubscriberBase;
use Symfony\Component\Routing\RouteCollection;
/**
* Listens to the dynamic route events.
*/
class RouteSubscriber extends RouteSubscriberBase {
/**
* {@inheritdoc}
*/
protected function alterRoutes(RouteCollection $collection) {
// Get the route you want to alter
$route = $collection->get('system.admin_content');
// alter the route...
}
}
আপনি উদাহরণ হিসাবে নোড মডিউলটির রুটসুবসাইবার ক্লাস নিতে পারেন ।
আপনার রুটসসক্রাইবারকে স্বীকৃতি দিতে আপনাকে YOURMODULE.services.yml
আপনার মডিউল ডিরেক্টরিতে একটি ফাইলও তৈরি করতে হবে:
services:
node.route_subscriber:
class: Drupal\YOURMODULE\Routing\RouteSubscriber
tags:
- { name: event_subscriber }
নতুন মেনু সিস্টেমে আরও ভাল অন্তর্দৃষ্টি পেতে আমি নিম্নলিখিত নিবন্ধগুলিতে সুপারিশ করব:
সম্পাদনা: বার্ডিরের
হিসাবে উল্লেখ করা হয়েছে , মেনু সিস্টেমটির এখন আলাদা কাঠামো রয়েছে, যার ডি 7 এর মেনু সিস্টেমের সাথে কোনও সম্পর্ক নেই, সুতরাং মেনু টাইপের মতো কোনও জিনিস নেই।