如何在Drupal 7

时间:2018-03-05 22:28:57

标签: drupal drupal-7 drupal-taxonomy

我在Drupal 7工作,并尝试渲染地图&根据特定分类中的内容构建列表。例如:

  • 创建各个位置作为单个节点,并附上信息(标题,位置,电话号码,小时等)。
  • 位置节点中的一个字段是分类术语:市场。例如,东海岸或西海岸。

目前,此地图存在的唯一位置是分类 - 期限 - 市场模板,它会在适当的市场中提取有关每个位置的所有变量。

我想要做的是通过手动选择市场作为相关字段类型,在不同页面(节点 - 页面)上显示地图。我可以获得市场名称,但我无法获得有关子位置的任何信息!我该怎么做呢?我尝试过使用视图和块,但是地图的模板非常复杂 - 而我的理解(可能是错误的)是我需要访问的变量不能模仿"来自视图/块系统。

有人知道如何在页面模板上访问给定分类的节点信息吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您的地图目前存在于taxonomy-term--markets,我相信分类术语模板级别而不是页面模板级别。默认情况下,分类页面将显示与tid术语相关的节点列表。在template.php文件上添加分类模板预处理function

function your_theme_preprocess_taxonomy_term(&$variables) {
     $nodes = taxonomy_select_nodes($variables['term']->tid);
     var_dump($nodes);  
}

$nodes将为您提供nid的列表,您可以node_load从这些列表中获取节点信息。

如果您知道分类术语page--node--page,则在{tid}模板级别上,您可以创建页面预处理功能。所以在{your_theme} /template.php

function your_theme_preprocess_page(&$variables) {
     //Assuming you know your {tid}
    $variables['mynodeinfo'] = taxonomy_select_nodes({tid}));
}

page--node--page模板上输出

var_dump($nodeinfo);