drupal 7 field.tpl, если это поле пустое, показать это - PullRequest
0 голосов
/ 16 января 2012

У меня есть узел, который имеет два авторских поля. У меня есть ссылка на раздел комментариев с комментарием, который отображается после имени второго автора. Поэтому, если в обоих полях есть имя автора, я получаю ссылку "# of comments". Если второго автора нет, ссылка «# комментариев» не отображается (поскольку поле не отображается). Я использую field.tpl.php

Я думаю, что способ сделать это - один из следующих способов:
1) в первом поле произнесите: «Если второе поле пусто, покажите» # комментариев »
или
2) во втором поле скажите: «если это поле не пустое, покажите« количество комментариев »(и будет ссылка« # комментариев »без условий, которые будут отображаться, если поле не пустое.

1 Ответ

0 голосов
/ 16 января 2012

Вот решение, которое я придумал: В field.tpl.php для first_author_name я добавил следующий код:

<?php if (empty($element['#object']->field_second_author_name)) : ?> 

<div class="comment-add">

<?php

  if ($element['#object']->comment_count == 0) { 
      $output = t('Add a comment'); } 
      else { 
      $output = format_plural($element['#object']->comment_count, '1 Comment', '@count Comments'); }

      print '<span class="comment-add-pipe">|</span> <a href="#comments">' . $output . '</a>';

?>
</div>

  <?php endif; ?>

Элемент $ ['# object'] -> field_second_author_name проверяет другое поле, чтобы определить, пустое оно или нет. Если он IS пуст (без второго автора), он добавляет комментарий_счет после имени первого автора.

У меня также есть код для comment_count в field.tpl для второго автора, поэтому, если существует IS второй автор, то comment_count появляется после имени второго автора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...