বর্তমান পৃষ্ঠার রুটের নাম পান


24

বর্তমান পৃষ্ঠার রুটের নামটি পাওয়া যায় page.html.twig? পৃষ্ঠাটি ডিফল্ট প্রতিক্রিয়া ফর্মের দ্বারা উত্পন্ন হয়।

উত্তর:


57

বর্তমান রুটের নাম পেতে, ব্যবহার করুন:

$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']

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