drupal_get_title()
Drupal 8 से हटा दिया गया है। मैं Drupal 8 में पृष्ठ का शीर्षक कैसे प्राप्त कर सकता हूं?
drupal_get_title()
Drupal 8 से हटा दिया गया है। मैं Drupal 8 में पृष्ठ का शीर्षक कैसे प्राप्त कर सकता हूं?
जवाबों:
यदि आप परिवर्तन रिकॉर्ड की जांच करते हैं, तो आपको निम्नलिखित मिलना चाहिए: drupal_set_title () और drupal_get_title () हटा दिए गए थे ।
आपको जानकारी के सभी के लिए परिवर्तन नोटिस पढ़ना होगा, लेकिन यहाँ एक प्रारंभिक बिंदु है:
drupal_get_title ()
जैसा कि अब मार्गों पर शीर्षक विभिन्न तरीकों पर सेट किया जा सकता है (ऊपर देखें), drupal_get_title () हटा दिया गया है। इसके स्थान पर आपको title_resolver सेवा को कॉल करना चाहिए।
द्रुपाल al
<?php $title = drupal_get_title(); ?>
द्रुपाल al
<?php $request = \Drupal::request(); if ($route = $request->attributes->get(\Symfony\Cmf\Component\Routing\RouteObjectInterface::ROUTE_OBJECT)) { $title = \Drupal::service('title_resolver')->getTitle($request, $route); } ?>
के अनुसार batch_test.module
(D8.4) निम्नलिखित ठीक काम करना चाहिए:
$request = \Drupal::request();
$route_match = \Drupal::routeMatch();
$title = \Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject());
अधिक जानकारी के लिए देखें public function TitleResolver::getTitle
।
इस प्रश्न के लिए स्वीकृत प्रतिक्रिया पुरानी है: अनुरोध पैरामीटर देखें , मार्ग का नाम, और रूट ऑब्जेक्ट को रूटमैच के माध्यम से एक्सेस किया जाना चाहिए ।
आपको वर्तमान मार्ग को पुनः प्राप्त करने के लिए current_route_match सेवा का उपयोग करना चाहिए , और फिर इसके मापदंडों को पढ़ना या संशोधित करना चाहिए। यह किसी भी सिम्फनी आदि जादू को लपेटता है।
प्रक्रियात्मक कोड में, आप निम्न के समान कोड का उपयोग करेंगे।
$route = \Drupal::routeMatch()->getCurrentRouteMatch()->getRouteObject();
$title = $route->getDefault('_title');
ऑब्जेक्ट-ओरिएंटेड कोड में, आपको निर्भरता इंजेक्शन का उपयोग करना चाहिए और सेवा को इंजेक्ट करना चाहिए ।
$route->getDefault('_title');
केवल एक ही नहीं है तो क्या करें $route->getDefault('_title_callback');
?
द्रुपाल al
$request = \Drupal::request();
// Assuming the Request is $request.
if ($request->attributes->has('_title')) {
return $request->attributes->get('_title');
}
->get('_MAGIC')
विधि दुर्भाग्य से पदावनत है और ज्यादातर D8 से हटा दी गई है: drupal.org/node/2124749