বর্তমান পৃষ্ঠার রুটের নামটি পাওয়া যায় page.html.twig
? পৃষ্ঠাটি ডিফল্ট প্রতিক্রিয়া ফর্মের দ্বারা উত্পন্ন হয়।
বর্তমান পৃষ্ঠার রুটের নামটি পাওয়া যায় page.html.twig
? পৃষ্ঠাটি ডিফল্ট প্রতিক্রিয়া ফর্মের দ্বারা উত্পন্ন হয়।
উত্তর:
বর্তমান রুটের নাম পেতে, ব্যবহার করুন:
$route_name = \Drupal::routeMatch()->getRouteName();
আপনি আপনার থিমের "। থিম" ফাইলটিতে একটি চলক হিসাবে বর্তমান পৃষ্ঠার রুটের নাম যুক্ত করতে পারেন। এটির মতো _প্রিপ্রসেস_পেজ ফাংশন যুক্ত করুন এবং ড্রুপাল ক্যাশে সাফ করুন।
/**
* Implements hook_preprocess_page().
*
*/
function mytheme_preprocess_page(&$variables) {
$variables['route_name'] = \Drupal::routeMatch()->getRouteName();
}
তারপরে আপনি পেজে html.twig এ অ্যাক্সেস করতে পারেন:
{{ route_name }}
দ্রষ্টব্য: \Drupal::routeMatch()->getRouteName()
কখনও কখনও নਾਲ ফিরে আসবে।
আপনি যদি কোনও শ্রেণীর ভিতরে থাকেন, জিনিসগুলি সঠিকভাবে করতে, আপনি কনস্ট্রাক্টরে রুট মিল পরিষেবাটি ইনজেকশন করতে চান এবং তারপরে এইভাবে কল করতে পারেন:
$this->currentRouteMatch->getRouteName()
কনস্ট্রাক্টর (এবং ভেরিয়েবল) এর মতো হবে:
/**
* The current route match.
*
* @var \Drupal\Core\Routing\RouteMatchInterface
*/
protected $currentRouteMatch;
/**
* Constructs a new ThemeTestSubscriber.
*
* @param \Drupal\Core\Routing\RouteMatchInterface $current_route_match
*/
public function __construct(RouteMatchInterface $current_route_match) {
$this->currentRouteMatch = $current_route_match;
}
যদি এটি কোনও পরিষেবার শ্রেণি হয় তবে আপনি নিজের কাস্টম মডিউলে ইয়ামল ফাইলের পরিষেবাতে এটি প্রবেশ করতে পারেন:
services:
mymodule.service:
class: Drupal\mymodule\MyCustomService
arguments: ['@current_route_match']