मुझे अपने page.html.twig टेम्प्लेट में एक व्यू ब्लॉक को प्रस्तुत करना होगा। D7 में मैं यह करूंगा:
<?php
$block = module_invoke('module_name', 'block_view', 'block_delta');
print render($block['content']);
?>
Drupal 8 में मॉड्यूल_invoke को पदावनत किया गया है और इसे उपयोग करने की सिफारिश की गई है: (मैंने दूसरे पैरामीटर के रूप में ब्लॉक का नाम जोड़ा है)
Drupal::moduleHandler()->invoke($block, 'views_block__blog_block_1', $args = array());
मैंने कुछ चीजों की कोशिश की। पहले इसे एक टहनी टेम्पलेट में करने की कोशिश की लेकिन मुझे नहीं पता कि कैसे एक टहनी टेम्पलेट में php फ़ंक्शन को कॉल करना है, ताकि यह अच्छी तरह से बाहर न निकले।
फिर मैंने .theme फ़ाइल में प्रीप्रोसेस_पेज () फ़ंक्शन में फ़ंक्शन को कॉल किया, लेकिन इससे पहले कि मैं इसे काम करने के लिए प्राप्त कर सकूं मैंने कुछ आसान बनाने की कोशिश की बस टहनी टेम्पलेट के अंदर एक चर काम करने की कोशिश की जो या तो काम नहीं किया, उदाहरण के लिए:
खाका फ़ाइल में template_preprocess_page (& $ var) फ़ंक्शन में:
$test = 'Hello World';
$vars['$my_var'] = $test;
मैंने twig टेम्पलेट के अंदर my_var को कॉल करने की कोशिश की, लेकिन यह काम नहीं किया और मुझे एक त्रुटि संदेश मिला "साइट में त्रुटि है, कृपया व्यवस्थापक से संपर्क करें"
इसलिए, संक्षेप में, यहां मेरे प्रश्न हैं:
- मैं टहनी टेम्पलेट्स के अंदर चर कैसे उपलब्ध कर सकता हूं?
- मैं टहनी टेम्पलेट्स के अंदर कार्यों को कैसे कहूं?
- क्या मैं .theme फ़ाइल या टहनी टेम्पलेट के अंदर ब्लॉक प्रदान करता हूं?