来自tid的节点ID

时间:2015-03-14 05:45:01

标签: drupal-7 taxonomy

如何从tid获取nid,因此我可以使用node_load函数,然后使用Field_get_items来获取特定字段。我首先使用taxonomy_select_node(),但它给了我与该tid相关的所有节点的nids但我想要特定包的内容(内容类型),所以我只能显示该内容类型的内容。现在我正在使用Entityfieldquery,这是我的代码:
     if(isset($_GET['tid'])){ $id=($_GET['tid']); $query = new EntityFieldQuery(); $query->entityCondition('entity_type', 'node'); $query->entityCondition('bundle', 'escorts_product'); $query->propertyCondition('status', 1); $query->fieldCondition('field_description', NULL, $id, '='); $result = $query->execute(); print "<pre>";print_r($result);
在这里,我想从我的内容类型field_description获取特定escorts_product的{​​{1}},但它为所有tid而不是我在参数中提到的特定数据提供数组结构?

2 个答案:

答案 0 :(得分:0)

$query->fieldCondition('field_description', NULL, $id, '=');行应该像这样更换,它会起作用,$query->fieldCondition('field_your_term_reference_field', tid, $id, '=');然后你就可以轻松搞定了。

答案 1 :(得分:0)

这对我有用

$termid = array(1); //Where you save term ID(s)
$nids = taxonomy_select_nodes($termid);
$products = array(); //Lets say nodes type is PRODUCT
if (!empty($nids)) {
    foreach ($nids as $nid => $value) {
        echo $products[$value] = node_load($value)->title; // Echo all the titles of related nodes of current term.
    }
}