在 Drupal 中向视图模板文件添加条件

Adding conditions to a view template file in Drupal

我需要向硬编码到 Drupal 7 主题模板文件中的按钮添加条件。我希望 'compare' 按钮仅出现在附加了某些分类术语的产品的节点页面上。我想,它可以用一个简单的 IF 来完成,但我不是开发人员,只知道 PHP 语法的基础知识,所以我真的很感激,如果有人能详细描述如何实现解决方案,甚至可能提供我可以自定义并粘贴到正确位置的代码片段!

<div class="actions">
    <?php print flag_create_link('wishlist', $node->nid); ?>
    <?php print flag_create_link('compare', $node->nid); ?>
  </div><!-- .actions -->
</div>

这是节点代码中的部分--product.tpl.php 文件中放置操作按钮的部分。我希望第二个,比较按钮只出现在具有特定分类术语的节点上。

提前致谢!

胡巴

您可以使用以下代码。

<?php
  $display_compare = FALSE; // don't display by default
  $tids = array(1, 2, 3); // array of certain taxonomy terms' tids

  foreach ($node->TERM_FIELD_NAME[LANGUAGE_NONE] as $delta => $term) {
    if (in_array($term['tid'], $tids)) {
      $display_compare = TRUE; // display if node has at least one of specified terms
      break;
    }
  }

  if ($display_compare) {
    print flag_create_link('compare', $node->nid);
  }
?>

请不要忘记将 "TERM_FIELD_NAME" 替换为您的字段名称,将“1、2、3”替换为您的 tids 列表。