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


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.