如何在Drupal 7中使用nodeload打印引用的节点字段?

发布于 2024-12-08 19:29:33 字数 169 浏览 0 评论 0原文

我在一个节点中,我使用“引用”模块创建了一个字段,将一种内容类型与另一种内容类型相关联。现在... 2 种内容类型是“PRACTISE”(带有标题、描述等的节点...)和“TECHNOLOGY”(仅带有徽标图像的节点)。我想将相关徽标显示到node--practise.tpl.php中。我怎样才能在 DP7 中做到这一点?

I am in a node, I created a field using "References" module to relate one content type to another. Now... The 2 content type are "PRACTISE" (a node with title, description ecc...) and "TECHNOLOGY", a node with just logo images. I want to show related logo into node--practise.tpl.php. How can i do this in DP7?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖公主 2024-12-15 19:29:33

我不会直接在模板文件中执行此操作,而是最好在主题的 template.php 文件中实现 hook_preprocess_node 以将徽标作为变量传递。无论哪种方式,逻辑都是相同的:

function mytheme_preprocess_node(&$vars) {
  $node = $vars['node'];

  if ($node->type == 'practise') {
    $related_node_nid = $node->field_related_field_name['und'][0]['nid'];
    $related_node = node_load($related_node_nid);

    $logos = '';
    foreach ($related_node->field_logo_field_name['und'] as $img) {
      $logos .= theme('image', array('path' => $img['uri'], 'alt' => 'Alt text'));
    }
    $vars['related_logos'] = $logos;
  }
}

然后在您的 template.php 文件中,您将拥有变量 $logos ,它将包含您在 preprocess 函数中构建的徽标列表。显然,您可以定制 HTML 以满足您的需求,并且需要为 field_lated_field_namefield_logo_field_name 交换正确的字段名称。

I wouldn't do it directly in the template file, instead you'd be better off implementing hook_preprocess_node in your theme's template.php file to pass the logo(s) in as a variable. The logic is the same either way:

function mytheme_preprocess_node(&$vars) {
  $node = $vars['node'];

  if ($node->type == 'practise') {
    $related_node_nid = $node->field_related_field_name['und'][0]['nid'];
    $related_node = node_load($related_node_nid);

    $logos = '';
    foreach ($related_node->field_logo_field_name['und'] as $img) {
      $logos .= theme('image', array('path' => $img['uri'], 'alt' => 'Alt text'));
    }
    $vars['related_logos'] = $logos;
  }
}

Then in your template.php file you will have the variable $logos which will contain the list of logos you built up in the preprocess function. Obviously you can tailer the HTML to suit your needs, and you need to swap in the correct field names for field_related_field_name and field_logo_field_name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文