2012-01-31 8 views
6

के साथ ब्लॉक टेम्पलेट के अंदर नोड आईडी प्राप्त करना ठीक है, इसलिए मैंने अपने ब्लॉक में से एक के लिए एक टेम्पलेट फ़ाइल बनाई है, जो ठीक काम करता है। हालांकि इस टेम्पलेट के अंदर मैं वर्तमान नोड की आईडी प्राप्त करना चाहता हूं। वो कैसे संभव है? मैंने तर्क, $ नोड और इन सभी चरों का प्रयास किया है, लेकिन उनमें से कोई भी उपलब्ध नहीं है।ड्रूपल 7

अग्रिम धन्यवाद।

+1

मैं तुमसे प्यार करता! ;) –

उत्तर

23

मान लिया जाये कि आप नोड पृष्ठ पर हैं ही menu_get_object() समारोह नोड वस्तु वापस आ जाएगी: इस सवाल पूछने के लिए

$node = menu_get_object(); 
if ($node && $node->nid) { 
    // You have a valid node to work with. 
} 
+0

दुर्भाग्य से, यह एक सुरक्षित धारणा नहीं है। – Jeff

+0

@ जेफ वाक्यांश "वर्तमान नोड" के लिए यह एक सुरक्षित धारणा है (यही वह वाक्यांश है जो ड्रूपल-एज़ में संदर्भित है)। यदि यह नोड पृष्ठ नहीं है तो आप "वर्तमान नोड" क्या ढूंढ रहे हैं? – Clive

+0

को खोजने के लिए एक समान आसान तरीका होने की संभावना है, दूसरे पढ़ने पर, हाँ, मुझे लगता है कि आप सही हैं। मैंने वर्तमान ब्लॉक के लिए नोड के रूप में 'वर्तमान नोड' पढ़ा। – Jeff

0
// it will gives only node id. 
if (arg(0) == 'node' && is_numeric(arg(1))) { 
    $nid = arg(1); 
} 
echo $nid;