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


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.