मैं <head>...</head>
Drupal 8 में अनुभाग के अंदर निम्नलिखित मेटा टैग कैसे जोड़ सकता हूं ?
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
मैं <head>...</head>
Drupal 8 में अनुभाग के अंदर निम्नलिखित मेटा टैग कैसे जोड़ सकता हूं ?
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
जवाबों:
विभिन्न स्रोतों से मुझे ड्रुपल 8 में मेटा टैग जोड़ने का अलग तरीका मिला, इसलिए सभी तरीकों को संकलित किया।
मुझे लगता है कि हितधारकों पर एक ही सवाल पूछा गया है: ड्रुपल 8 में सिर के लिए मेटा टैग जोड़ें और यदि आप @ डैनियलिशको का उत्तर देखते हैं , तो उन्होंने निम्नलिखित कोड प्रदान किया है,
बस अपनी THEME.theme
फ़ाइल में निम्नलिखित कोड जोड़ें , कैश साफ़ करें और आप जाना अच्छा होगा। नोट: function theme_preprocess_html(&$variables) {...}
आपकी .theme फ़ाइल में पहले से ही होना चाहिए, इसलिए नया न बनाएं, अन्यथा यह त्रुटि देगा।
function theme_preprocess_html(&$variables) {
$xuacompatible = [
'#tag' => 'meta',
'#attributes' => [
'http-equiv' => 'x-ua-compatible',
'content' => 'ie=edge',
],
];
$variables['page']['#attached']['html_head'][] = [$xuacompatible, 'x-ua-compatible'];
}
आउटपुट छवि:
इस विषय पर एक और प्रश्न पूछा गया था: ड्रुपल 8 मेटा टैग कैसे सेट / रिमूव करें ।
यदि आप उपर्युक्त लिंक में प्रश्न पढ़ते हैं, तो प्रश्नकर्ता ने उल्लेख किया है कि html.html.twig
टेम्पलेट फ़ाइल का उपयोग करके आप सीधे मेटा टैग जोड़ सकते हैं<head>....</head>
html.html.twig
वह फ़ाइल जिसे आप पा सकते हैं core/modules/sytem/templates/html.html.twig
, आप उसे अपने थीम के टेम्पलेट फ़ोल्डर में कॉपी और पेस्ट कर सकते हैं और आपका थीम उस एक का उपयोग करेगा।
से html.html.twig
<!DOCTYPE html>
<html{{ html_attributes }}>
<head>
<head-placeholder token="{{ placeholder_token|raw }}">
<title>{{ head_title|safe_join(' | ') }}</title>
<css-placeholder token="{{ placeholder_token|raw }}">
<js-placeholder token="{{ placeholder_token|raw }}">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body{{ attributes }}>
{#
Keyboard navigation/accessibility link to main content section in
page.html.twig.
#}
<a href="#main-content" class="visually-hidden focusable">
{{ 'Skip to main content'|t }}
</a>
{{ page_top }}
{{ page }}
{{ page_bottom }}
<js-bottom-placeholder token="{{ placeholder_token|raw }}">
</body>
</html>
आउटपुट छवि:
नोट: यह मेरा अपना तर्क है और इसके लिए संदर्भ खोजने की कोशिश की गई, मुझे इसके बारे में कोई संदर्भ नहीं मिला, सिवाय इसके कि ऊपर दिए गए लिंक में प्रश्नकर्ता द्वारा एक पंक्ति प्रदान की जाए, लेकिन चूंकि हम अन्य सामान जोड़ने के लिए टेम्पलेट फ़ाइल को संपादित करते हैं, इसलिए हम जोड़ने के लिए उपयोग नहीं कर सकते हैं टैग। कृपया टिप्पणी करें कि यदि यह सही नहीं है, तो यह मेरे लिए भी सीखने का अनुभव होगा, धन्यवाद।
यदि आप इस ट्यूटोरियल का संदर्भ लेते हैं: Drupal 8 में नए HTML टैग्स जोड़ने पर , उन्होंने Drupal 8 में टैग जोड़ने का सामान्य तरीका बताया है। मैंने आपकी आवश्यकता के अनुसार संशोधित किया है। आप इस ट्यूटोरियल को देख सकते हैं: Drupal 8 : Drupal 8 में सरल मॉड्यूल कैसे विकसित किया जाए, इसके लिए एक सरल मॉड्यूल बनाएं , और निम्न कोड आपके मॉड्यूल_name.module फ़ाइल में जाएगा, बस।
के लिए module_name.module
फ़ाइल,
<?php
/**
* Implements hook_page_attachments().
*/
function module_name_page_attachments(array &$page) {
$xuacompatible = [
'#tag' => 'meta',
'#attributes' => [
'http-equiv' => 'x-ua-compatible',
'content' => 'ie=edge',
],
];
$page['#attached']['html_head'][] = [$xuacompatible, 'x-ua-compatible'];
}
मुझे लगता है, 1 विकल्प में वर्णित यह विधि और विधि काफी समान हैं।
मुझे यकीन नहीं है, इस दृष्टिकोण का उपयोग कैसे करें, मैंने खोजने की कोशिश की। यहाँ मैं उल्लेख कर रहा हूँ क्योंकि जब मेटा टैग जोड़ने की बात आती है तो यह मॉड्यूल हमेशा पॉप-अप होता है।
मुझे लगता है कि इस दृष्टिकोण का आपको उपयोग करना चाहिए। स्वीकृत उत्तर में उसने मॉड्यूल तरीके का वर्णन किया है और आप इसके लिए मेटाटैग मॉड्यूल का उपयोग कर सकते हैं । इस मॉड्यूल में आश्रित मॉड्यूल टोकन और Ctools हैं , जो कि बहुत ही सामान्य बात है। उस उत्तर में पूरी प्रक्रिया का वर्णन किया गया है, इसलिए मैं यहां उल्लेख नहीं कर रहा हूं।
किसी कंट्रोलर, ब्लॉक, एंटिटी, फील्ड या अन्य स्थानों पर सामग्री जोड़ते समय आपको हुक बनाने की आवश्यकता नहीं होती है।
आप किसी भी विषय के लिए सीधे मेटा टैग को जोड़ने या तत्व प्रदान कर सकते हैं ( #theme
, #type
, #markup
):
$build['username'] = [
'#theme' => 'username',
'#account' => \Drupal::currentUser(),
'#attached' => [
'html_head' => [
[
[
'#tag' => 'meta',
'#attributes' => [
'name' => 'foo',
'content' => 'bar',
],
],
'my_module_foo',
],
],
],
];
जब पृष्ठ स्तर तक टैग बुलबुले प्रदान किए जाते हैं और <head>...</head>
अनुभाग में जोड़ा जाता है ।
प्रीप्रोसेस हुक में आप शीर्ष स्तर से जुड़ सकते हैं $variables
, /drupal//a/288989/47547 देखें
आप अपनी थीम में पेज अटैचमेंट के लिए परिवर्तन हुक का उपयोग कर सकते हैं।
function THEME_page_attachments_alter(array &$page) {
$page['#attached']['library'][] = 'theme_name/main';
}