1

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

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

这是显示操作按钮的 node--product.tpl.php 文件的代码部分。我想要第二个,比较按钮只出现在具有某些分类术语的节点上。

先感谢您!

胡巴

4

1 回答 1

1

您可以使用以下代码。

<?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”替换为您的 tid 列表。

于 2015-09-07T20:00:02.443 回答