व्यू ब्लॉक के लिए टेम्प्लेट फ़ाइल बनाएं


19

कस्टम ब्लॉक करने के बारे में बहुत कुछ है, लेकिन विचारों द्वारा बनाए गए ब्लॉक के बारे में क्या है?

मेरे विचार ब्लॉक में आईडी है: ब्लॉक-व्यूज़-पोस्ट-लिस्टिंग-ब्लॉक,

मैं टेम्प्लेट फ़ाइल के नामकरण के लिए कई तरीके आज़माता हूं, उदा: ब्लॉक - ब्लॉक - व्यूज़-पोस्ट-लिस्टिंग-ब्लॉक.प्ले.फ्लॉप, लेकिन मुझे सही फ़ाइल नाम नहीं मिल रहा है।


1
थीम डेवलपर मॉड्यूल आप टेम्पलेट फ़ाइल का नाम बता सकते हैं।
ओसवाल

धन्यवाद, लेकिन मुझे पता है कि डी 7 के लिए कभी-कभी प्रॉपर काम नहीं करता है।
कोडिया सेप

जवाबों:


18

अपना दृश्य संपादित करें। और अपने ब्लॉक विवरण की "उन्नत" सेटिंग्स के तहत, पर क्लिक करें "Theme: Information"। टेम्पलेट फ़ाइलों के विकल्पों की एक सूची प्रदर्शित की जाएगी।

उदाहरण के लिए, यदि आपके ब्लॉक का नाम "पोस्ट लिस्टिंग" है, तो "थीम सूचना" विकल्प द्वारा सूचीबद्ध संभावित नाम देखें:

* Display output: views-view.tpl.php, views-view--posts-listing.tpl.php, views-view--default.tpl.php, views-view--block.tpl.php, views-view--posts-listing--block.tpl.php
* Style output: views-view-unformatted.tpl.php, views-view-unformatted--posts-listing.tpl.php, views-view-unformatted--default.tpl.php, views-view-unformatted--block.tpl.php, views-view-unformatted--posts-listing--block.tpl.php
* Row style output: views-view-fields.tpl.php, views-view-fields--posts-listing.tpl.php, views-view-fields--default.tpl.php, views-view-fields--block.tpl.php, views-view-fields--posts-listing--block.tpl.php
* Field Content: Title (ID: title): views-view-field.tpl.php, views-view-field--title.tpl.php, views-view-field--posts-listing.tpl.php, views-view-field--posts-listing--title.tpl.php, views-view-field--block.tpl.php, views-view-field--block--title.tpl.php, views-view-field--posts-listing--block.tpl.php, views-view-field--posts-listing--block--title.tpl.php 

उदाहरण के लिए : अपने ब्लॉक नाम है लिस्टिंग पदों , और शैली है अस्वरूपित , तो "थीम जानकारी" नाम का सुझाव views-view-unformatted--posts-listing--block.tpl.php(इसमें कई नामों में से केवल एक है)। आप मूल views-view-unformatted.tpl.phpटेम्पलेट फ़ाइल (/ मॉड्यूल / विचार / विषय में स्थित) को अपनी वर्तमान थीम निर्देशिका में कॉपी कर सकते हैं , और सुझाए गए नाम के साथ इस फ़ाइल का नाम बदल सकते हैं views-view-unformatted--posts-listing--block.tpl.php:। फिर अपनी टेम्पलेट फ़ाइल के अंदर परिवर्तन करें। यदि यह टेम्प्लेट आपके वांछित परिवर्तन करने की अनुमति नहीं देता है, तो अपनी आवश्यकताओं के अनुसार अन्य टेम्प्लेट की तलाश करें।

अंत में, यदि आप एक नया टेम्प्लेट जोड़ते हैं, तो रिस्कॉन टेम्प्लेट फ़ाइलें सूची:

महत्वपूर्ण! टेम्पलेट फ़ाइलों को जोड़ने, हटाने, या नाम बदलने के दौरान, ड्रुपल को आपके सिस्टम में फ़ाइलों को rescan बनाकर परिवर्तनों से अवगत कराना आवश्यक है। "Rescan टेम्पलेट फ़ाइलें" बटन पर क्लिक करके आप Drupal की थीम रजिस्ट्री को साफ़ करते हैं और इस तरह से इस rescanning प्रक्रिया को ट्रिगर करते हैं। हाइलाइट किए गए टेम्प्लेट ("रेसकॉन टेम्प्लेट फ़ाइल्स" बटन के ऊपर आपकी टेम्प्लेट सूची में) आपके सिस्टम की नई स्थिति को दर्शाएगा।

ओसवाल द्वारा सुझाए गए थीम डेवलपर मॉड्यूल http://drupal.org/project/devel_themer आपके मानदंडों के अनुसार विशिष्ट तत्वों को बदलने के लिए संभावित टेम्पलेट / एस का पता लगाने के लिए उपयोगी हो सकता है। मैं प्रोडक्शंस एनवायरमेंट्स में सक्षम इस मॉड्यूल को पुनः प्राप्त नहीं करता हूं (मेरे मामले में, यहां तक ​​कि मैंने टेस्ट एनवायरमेंट्स में मॉड्यूल को अक्षम कर दिया है, क्योंकि ऐसा लगता है कि विचारों के साथ संघर्ष है, लेकिन जब यह आवश्यक हो गया है, तो यह बहुत उपयोगी है)


नहीं, यह थीम व्यू ब्लॉक आउटपुट के साथ मदद नहीं करता है। यह केवल थीम व्यू कंटेंट के लिए है, लेकिन मैं थीम को ब्लॉक करना चाहता हूं जो मेरे विचार को
लपेटता है

नमस्कार, कृपया "थीम सूचना" द्वारा दर्शाये गए टेम्प्लेट की सूची को फिर से देखें-> ब्लॉक सेटिंग्स में, ऐसे कई टेम्प्लेट हैं जो --blockउसके नाम के साथ समाप्त होते हैं । रीस्कैन टेम्प्लेट याद रखें, और याद रखें कि टेम्प्लेट को आपकी वर्तमान थीम की निर्देशिका के अंदर रखें (मॉड्यूल / विचार / थीम से चयनित टेम्पलेट की प्रतिलिपि बनाएँ)। टेम्पलेट में "थीम सूचना" सूची द्वारा सुझाया गया नाम होना चाहिए। यह काम करता हैं।
सिगोटेट सेप 18'11

@ व्यवधान, मैंने प्रक्रिया की समीक्षा करने के चरणों के साथ एक उदाहरण जोड़ा है, कृपया उत्तर में " उदाहरण के लिए " पैराग्राफ में समीक्षा करें ।
सिगोटेट

धन्यवाद, लेकिन मैं डिफॉल्ट डिव क्लास = "कंटेंट" रैपर को भी नहीं हटा सकता। मैं विचारों के द्वारा बनाई गई केवल बदलने एचटीएमएल कर सकते हैं
Codium

2
@ moon.watcher मुझे लगता है कि आप गलत समझ रहे हैं। "ब्लॉक" के साथ टेम्प्लेट फ़ाइल को समाप्त करना ब्लॉक के थीमिंग को प्रभावित नहीं करता है। यह उस टेम्पलेट फ़ाइल को उस ब्लॉक के लिए विशिष्ट बनाता है जो दृश्य आउटपुट कर रहा है (जैसा कि दृश्य एक ही दृश्य से कई ब्लॉकों को आउटपुट कर सकता है)। दृश्य से थीम्ड सामग्री ब्लॉक थीमिंग इंजन के लिए आउटपुट है, और ब्लॉक .pl.php द्वारा प्रदान किए गए मार्कअप में लिपटी है। क्या नशे की कोशिश कर रहा है (और साथ ही मैं कर रहा हूँ) ब्लॉक की थीम बदल रहा है।

18

थीम डेवलपर (उर्फ devel_themer) के अनुसार D7 में जवाब मांगने वालों के लिए, आप सम्मेलन का उपयोग करके किसी व्यू ब्लॉक के लिए एक tpl ओवरराइड बना सकते हैं:

block - views-- {view's machine_name} -block

इसलिए उदाहरण में आपको मिलेगा

block - views-- पोस्ट-लिस्टिंग -block.tpl.php

रिक्त स्थान के बिना (मैं इसे ठीक से संपादित नहीं कर सकता था ताकि यह सभी इनलाइन हो सके।


मैं पुष्टि करता हूं कि noTxt सही है, ब्लॉक अनुभाग पर जाएं, और ब्लॉक को संपादित करें, url आपको अंडरस्कोर, my_view_name- ब्लॉक के साथ दृश्य का ब्लॉक नाम दिखाना चाहिए। अंडरस्कोर को मेरे माइंड-व्यू-नाम से बदल दें, और इस फॉर्मेट का उपयोग करें: "ब्लॉक - व्यूज़ - my-view-name = block.tpl.php"
Nevos

2
हां, यह अधिक सही उत्तर है, इसलिए: ब्लॉक - विचार - मशीन के नाम से पहले एकल डैश पर VIEWNAME-MACHINENAMEOFDISPLAY.tpl.php ध्यान दें! मशीन का नाम = डिफ़ॉल्ट रूप से इसे ब्लॉक, ब्लॉक -1 और इतने पर नाम दिया गया है, लेकिन आप इसे यूआई में देख सकते हैं।
निकित

7

टीपीएल नाम बदलने के आधे घंटे के अंत में, यहाँ मेरा अंतिम निष्कर्ष है:

block--views--[view-name]-[display-name].tpl.php

[दृश्य-नाम] - [प्रदर्शन-नाम] भाग को noTxt की तरह कहा जा सकता है या '-' दृश्य के आईडी नाम और दृश्य प्रदर्शन के आईडी नाम के साथ जुड़ने पर, अंत में -ब्लॉक सही नहीं है ।


5

द्रुपाल 8 में

यहाँ छवि विवरण दर्ज करें

फ़ील्ड टेम्पलेट होगा:

विचारों पर-व्यू के क्षेत्रों - [दृश्य-नाम] - ब्लॉक 1.html.twig


यह प्रश्न D7 के बारे में था ... आपके उत्तर में Drupal 8 क्यों ?
पियरे.वीरेंस

@ पियरे.वीयरेंस चूंकि प्रश्न विचारों में लोकप्रिय है (मॉड्यूल नहीं), मुझे लगा कि मुझे यहां एक डी 8 संस्करण उत्तर जोड़ना चाहिए।
बजे कोई Sssweat

अब यह एक दिलचस्प विचार है ... फिर इन + 21K प्रश्नों के लिए भी ऐसा ही कैसे किया जाए ?
पियरे.विरेंस

@ पियरे.विरेंस उनमें से ज्यादातर लोकप्रिय नहीं हैं।
कोई Sssweat

1
8 टैग जोड़ा गया, अच्छा;)
कोडिया

1

block--views--[view-name]-[display-name].tpl.phpको बदलना चाहिए block--views--[view-name]-[machinename].tpl.php

आप अपने विचारों को उन्नत अनुभाग से मशीन का नाम पाएंगे जहां यह अन्य लिखा गया है


1

ऊपर वर्णित फ़ाइल नाम पैटर्न आपके काम का नाम दिखाता है + प्रदर्शन नाम वर्णों की एक निश्चित राशि से अधिक है !! मैं इसके द्वारा पकड़ा गया था और पता नहीं लगा सका कि क्यों ... में समाप्त होने वाली टेम्पलेट फ़ाइल block.tpl.phpकाम कर रही थी और निम्नलिखित प्रदर्शन ... block-1.tpl.phpकाम नहीं कर रहा था।

यह पता चला है कि यदि नाम बहुत लंबा है, तो व्यू मशीन के नाम को MD5 हैश से बदल देता है। यदि आप $conf['theme_debug'] = TRUE;अपने द्वारा उपयोग किए जा रहे टेम्प्लेट नाम के बारे में सुनिश्चित होना चाहते हैं, तो अपनी सेटिंग में जोड़ें । पीपीपी और फिर पृष्ठ स्रोत को देखें। अगर आपको कुछ ऐसा लगता है block--views--d131dd02c5e6eec4.... तो आप मशीन के नाम को बेहतर बनाएंगे (यदि आप इसे प्रबंधित करते हैं तो ... यह मानव द्वारा पढ़ा जाने वाला नाम नहीं है)। या फिर आपको उस मूर्खतापूर्ण नाम के साथ एक टेम्पलेट फ़ाइल का उपयोग करने की आवश्यकता है।

यह सभी देखें

व्यू ब्लॉक की मशीन का नाम "हैशेड" (?) है।

तथा

https://www.drupal.org/node/346602


0

इस पृष्ठ की जाँच करें https://www.drupal.org/node/1089656 , और अंडरस्कोर के बारे में जानकारी जो उपयोग करता है:

दृश्यों के साथ एक और उदाहरण, यदि आपके पास व्यू नाम "front_news" और डिस्प्ले आईडी "ब्लॉक_1" के साथ व्यू द्वारा बनाया गया ब्लॉक है, तो थीम हुक सुझाव होगा: ब्लॉक - व्यू - फ्रंट-न्यूज-ब्लॉक -1। tpl.php (नोटिस, जब आपके पास डिस्प्ले आईडी या एक दृश्य नाम में अंडरस्कोर है - आपको उन्हें एक ही डैश में बदलना होगा)


0

पैनल पैन के अंदर ब्लॉक के लिए, noTxt और अन्य द्वारा प्रदान किया गया समाधान काम नहीं कर रहा है। सिंटैक्स तब (कोई अंडरस्कोर नहीं होगा!):

panels-pane-block--views-[view-name]-[display-machine-name].tpl.php

$ 30 प्रदान करने के लिए user3074436 के लिए धन्यवाद ['theme_debug'] इस असाधारण विषय के बारे में जानने के लिए सेटिंग करना


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.