एक Drupal नौसिखिया, इसलिए मुझे सही करें अगर मेरी समझ गलत है, लेकिन आम तौर पर, जब व्यू द्वारा ब्लॉक बनाया जाता है, तो ब्लॉक का मशीन नाम व्यूज मशीन के नाम से जोड़ दिया जाता है।
अर्थात "article_listing_view-block_1"
जब block_load ($ मॉड्यूल, $ block_id) फ़ंक्शन का उपयोग किया जाता है, तो जिस तरह से मैं कर रहा हूं वह इस प्रकार कॉल करना है: $ block = block_load ("views", "article_listing_view-block_1");
हालांकि, कुछ बहुत ही अजीब कारणों के लिए, मशीन नाम के साथ एक विशेष ब्लॉक:
"Flag_comments_as_offensive-block_1"
की एक हैशेड मशीन आईडी है:
"92a591f5a81d13a3dd5492f073f9e135"
मैं "हैशेड" कहता हूं क्योंकि मशीन आईडी सीधे ब्लॉक के मशीन-नाम पर आधारित होती है। यदि मैं इसे ब्लॉक 1 से ब्लॉक में बदल देता हूं, तो यह बदल जाएगा, और जब मैं ब्लॉक से ब्लॉक 1 पर वापस लौटता हूं, तो यह मशीन आईडी को ऊपर से वापस कर देगा। इसलिए मशीन के नाम और "हैशेड" आईडी के बीच सीधा संबंध है जो इसे उत्पन्न करता है।
ब्लॉक_लोड ("विचार", "मशीन का नाम") को कॉल करने के बजाय, मुझे हैशेड मशीन आईडी का उपयोग करना होगा, जो कोई समस्या नहीं है, लेकिन मुझे यह पता लगाने में लंबा समय लगा। जिस तरह से मुझे लगा कि यह संरचना -> ब्लॉक में जाना है और "कॉन्फ़िगर करें" लिंक पर जाएं और URL देखें। मैंने देखा कि मेरे सभी अन्य ब्लॉक में एक URL है जिसमें इसकी मशीन आईडी शामिल है, लेकिन इस विशेष ब्लॉक के लिए, यह हैशेड मशीन आईडी थी। एक बार जब मैंने मशीन आईडी को ब्लॉक_लोड, वायोला में डाल दिया, तो यह एक आकर्षण की तरह काम करती थी!
इसलिए मुझे लगता है कि सवाल उबल रहा है: क्या चल रहा है, और ड्रुपल ने मेरी मशीन का नाम क्यों लिया है? क्या यह एक बग है, या मेरी ओर से कोई त्रुटि है?