পৃষ্ঠার শিরোনাম পান


8

যখন আমি কয়েকটি পৃষ্ঠায় শিরোনাম পাই তখন আমি হোমের মতো একটি খালি শিরোনাম পাই । আমি আমার গ্রাহক হিসাবে কোডটি ব্যবহার করছি তা নিম্নলিখিতটি।

class HistorySubscriber implements EventSubscriberInterface {
  public static function getSubscribedEvents() {
    $events[KernelEvents::REQUEST][] = array('onResponse', 0);
    return $events;
  }

  public function onResponse($event) {
    $request = \Drupal::request();
    $route_match = \Drupal::routeMatch();
    $title = \Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject());
  }
}

এটা কোন ইস্যু? আমি কীভাবে এটি ঠিক করতে পারি?


1
এটি করার জন্য বর্তমানে কোনও পরিষ্কার API নেই, দুঃখের সাথে। সমস্যাটি নিয়ে আলোচনা করতে কিছু সমস্যা হত to তথ্য হুক_প্রিপ্রসেস_পৃষ্ঠায় ... অথবা অস্থায়ীভাবে \ দ্রুপাল ore কোর \ রেন্ডার \ এইচটিএমএল রেন্ডারার :: প্রস্তুতি () এ উপলব্ধ, যা দুঃখজনকভাবে কোনও ইভেন্টে শিরোনামটি পাস করে না। আমার ধারণা, পরিস্থিতি সমাধানের জন্য আমাদের ড্রুপাল কোরের বিরুদ্ধে একটি ইস্যু পূরণ করা উচিত ... কারণ এটি মানুষের জন্য এটি স্পষ্ট ব্যবহারের বিষয়
— ড্যানিয়েল ওয়েহনার

@DanielWehner যে, আমার মধ্যে drupal.org একটি ইস্যু তৈরি করা যাক
— rpayanm

আপনি দয়া করে drupal.org এ দায়ের করা সমস্যার লিঙ্কটি পোস্ট করতে পারেন?
— আনোয়ারে

@anavarre এই বিষয় drupal.org/node/2399615 কিন্তু কারণ এটি একটি এর সদৃশ হয় বন্ধ ছিল drupal.org/node/2264043
— rpayanm

উত্তর:


1

নীচের কোডটি পৃষ্ঠার শিরোনাম পরিবর্তন করতে ব্যবহার করা যেতে পারে।

// Alter page title.
$request = \Drupal::request();
if ($route = $request->attributes->get(\Symfony\Cmf\Component\Routing\RouteObjectInterface::ROUTE_OBJECT)) {
  $route->setDefault('_title', 'Kontakt');
}

0

এটা চেষ্টা কর

<?php
  $request = \Drupal::request();
  $title=t('Home');
  if ($route = $request->attributes->get(\Symfony\Cmf\Component\Routing\RouteObjectInterface::ROUTE_OBJECT) && !drupal_is_front_page()) {
    $title = \Drupal::service('title_resolver')->getTitle($request, $route);
  }

?>

এই কোডটি প্রথম পৃষ্ঠায় নালাগুলি ফিরে আসে, তারপরে আপনার drupal_is_front_page তারপর অন্য শিরোনাম দেখানোর চেষ্টা করা উচিত


এই কোডটি কাজ করে না, "হোম" পৃষ্ঠায় $ শিরোনামটি বাতিল
— rpayanm

@ RolandoPayánMosqueda আপনার সমস্যাটি যদি কেবল ঘরে থাকে তবে প্রথম পৃষ্ঠাটি সনাক্ত করার চেষ্টা করুন এবং তারপরে এটি পরিবর্তন করুন, আমি আমার উত্তর আপডেট করছি
— ইউসুফ

"হোম" এগুলি কেবল "অ্যাডমিন / সামগ্রী" তেও ঘটে না এবং আমি অন্যের পৃষ্ঠাগুলিতেও নিশ্চিত।
— rpayanm

@ RolandoPayánMosqueda আমি এটি একটি Drupal ইস্যু, Drupal 8 beta3, সবকিছু কাজ সঠিকভাবে আশা করবেন না, বিশেষ করে নতুন বৈশিষ্ট্য ও API গুলি :)
— Yusef

0

আপনার ফাংশনের ভিতরে এই কোডটি ব্যবহার করুন এবং আপনি পদ, নোড পৃষ্ঠার মতো কোনও পৃষ্ঠার শিরোনাম পাবেন ...

public function getCurrentPageTitle() {
    $title = 'DEFAULT TITLE';
    $request = \Drupal::request();
    if ($route = $request->attributes->get(\Symfony\Cmf\Component\Routing\RouteObjectInterface::ROUTE_OBJECT)) {
      // For Taxonomy Term
      if (!empty($request->attributes->get('taxonomy_term'))) {
        $title = $request->attributes->get('taxonomy_term')->get('title')->value;
      }
      // For Node
      else {
        $node = \Drupal::routeMatch()->getParameter('node');
        if (!empty($node) && 'CONTENT_TYPE' === $node->bundle()) {
          $title = "CONTENT_TYPE_SPECIFIC_TITLE_SET";
          //$title = \Drupal::service('title_resolver')->getTitle($request, $route);
        }
        else {
          $title = \Drupal::service('title_resolver')->getTitle($request, $route);
        }
      }
    }
    return $title;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.