मैं यह जाँचने जा रहा हूँ कि क्या कोई पद एक निर्दिष्ट शब्दावली का है।
टर्म या नोड द्वारा शब्दावली प्राप्त करने के लिए किस फ़ंक्शन का उपयोग किया जाता है?
मैं यह जाँचने जा रहा हूँ कि क्या कोई पद एक निर्दिष्ट शब्दावली का है।
टर्म या नोड द्वारा शब्दावली प्राप्त करने के लिए किस फ़ंक्शन का उपयोग किया जाता है?
जवाबों:
Drupal 6 में, यदि आप वर्गीकरण शब्द आईडी जानते हैं, तो आप निम्नलिखित कोड का उपयोग करके शब्दावली आईडी प्राप्त कर सकते हैं:
$term = taxonomy_get_term($tid);
$vid = $term->vid;
यदि आपके पास एक नोड आईडी है, तो आप निम्न कोड का उपयोग कर नोड से जुड़े सभी करोनॉमी शब्दों की शब्दावली आईडी प्राप्त कर सकते हैं:
$node = node_load($nid);
$vids = array();
if (!empty($node->taxonomy)) {
foreach ($node->taxonomy as $tid => $term) {
$vids[] = $term->vid;
}
}
Drupal 7 में, कोड निम्नलिखित होगा:
$term = taxonomy_term_load($tid);
$vid = $term->vid;
Drupal 7 में, नोड प्रॉपर्टी $node->taxonomy
अब मौजूद नहीं है। इसके बजाय, वहाँ है $node->field_<vocabulary_name>
, जो दो अलग संरचनाओं के साथ एक सरणी है।
टैग
अन्य वर्गीकरण शर्तें
Field_get_items () का उपयोग करते हुए , आपको उस भाषा में टैक्सोनॉमी शर्तें मिलेंगी जो वे प्रदर्शित की जाएंगी, या उस भाषा में जिसका कोड फ़ंक्शन के तर्क के रूप में पास किया गया है।
$items = field_get_items('node', $node, $field_name);
$node
इसमें नोड ऑब्जेक्ट और $field_name
टैक्सोनॉमी शब्द फ़ील्ड का नाम है।
$items
में निहित सरणी की तुलना में एक सरलीकृत सरणी शामिल है $node->field_<vocabulary_name>
।
Drupal 7 के लिए उपरोक्त कोड इस प्रकार होना चाहिए:
$tid = 18;
$vid = db_query('SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid',
array(':tid' => $tid)
)->fetchField();
echo $vid;
Db_query () ड्रुपल 7 फ़ंक्शन पर अधिक उदाहरण देखें ।
नीचे दिए गए कोड द्वारा हल:
$tid = 18;
$result = db_query("SELECT vid FROM {term_data} WHERE tid = %d", $tid);
$vid = db_result($result);
echo $vid;