प्रोग्राम लेयर का उपयोग करके नोड के टीज़र को प्रोग्रामेटिक रूप से कैसे प्रस्तुत किया जाए?


10

मैं प्रोग्राम लेयर का उपयोग करके नोड के टीज़र को प्रोग्रामेटिक रूप से कैसे प्रस्तुत कर सकता हूँ?

जवाबों:


20

node_view() नोड्स प्रदान करने के लिए मानक कार्य है, उदा

$node = node_load(1);
$view = node_view($node, 'teaser');
$rendered = drupal_render($view);

nodeनोड मॉड्यूल (द्वारा node_theme()) द्वारा परिभाषित एक विषय है, लेकिन मैंने वास्तव में इसका इस्तेमाल कभी नहीं देखा है।


1
क्या ist_theme () क्या विषय सिस्टम तत्व के लिए .tpl.php फ़ाइल का उपयोग करने की अनुमति नहीं देता है और पूर्वनिर्मित कार्यों की भी अनुमति देता है?
mpdonadio

हाँ, मैं विषय परत को दरकिनार करने के बारे में चिंतित हूँ। अगर मैंने ऐसा किया है, तो चिप में आने वाले अन्य मॉड्यूल नहीं कर पाएंगे। कम से कम, मुझे लगता है कि यह सही है?
लेस्टर पीबॉडी

1
Api.drupal.org/api/drupal/modules%21node%21node.module/function/… का विश्लेषण करने पर, यदि आप कार्यान्वयन कोड देखते हैं, जहां यह कहता है $build += array(, इसमें एक #themeविशेषता है जो हम Drupal को उपयोग करने के लिए कहते हैं। विषय प्रणाली। यदि मैं गलत हूं तो मुझे सही करों। मैं अभी ड्रुपल एपीआई :)
लेस्टर पीबॉडी

@MPD हाँ, मैंने उसे बहुत अच्छी तरह से नहीं समझाया, मेरा मतलब था कि मैंने theme('node', ...पहले की तरह कभी कॉल नहीं देखा था। वास्तव में यह है कि काम नहीं है, क्योंकि यह अपने आप में होने एक के रूप में परिभाषित करता है render elementके बजाय variables
क्लाइव

पर स्पॉट @Lester 2 तरीकों से विषय काम करता है, 'सामान्य' जिस तरह से (कॉल करने के लिए कर रहे हैं theme('theme_name', $args)और तथाकथित का उपयोग करके render elementरों। hook_theme()डॉक्स यह बहुत अच्छी तरह से समझाते हैं, यह 100% सहज नहीं है, लेकिन एक बार आप जानते हैं, यह वास्तव में उपयोगी है। का प्रयोग node_view()इच्छा कभी नहीं विषय परत बाईपास ताकि आप ठीक होना चाहिए :)
क्लाइव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.