[РЕШЕНО] Подсчет комментариев в ноде

Главные вкладки

Аватар пользователя iNFerNo iNFerNo 1 апреля 2010 в 13:08

Привет.

Подскажите как вывести в ноде перед комментариями заголовок - КОММЕНТАРИИ?

И как вывести сумму всех комментариев в ноде например в скобках у заголовка Комментарии (32)

или там где выводятся (добавить комменатрий, новых комментариев столько-то, хотелось бы что бы и сумма всех комментов была в ноде, так же как и на тизере ноды).

Комментарии

Аватар пользователя olk olk 1 апреля 2010 в 14:15

У переменной $node - которая передается в node.tpl.php - есть поле comment,
print $node->comment - даст вам количество комментариев у ноды.
Заголовок перед комментариями определяется в файле comment-wrapper.tp.php
кстати в этом файле объект $node - тоже определен
т.е. в простейшем случае в директории своей темы создаете файл
comment-wrapper.tp.php
и помещаете туду примерно такой код


<?php
// $Id: comment-wrapper.tpl.php,v 1.2 2007/08/07 08:39:35 goba Exp $

/**
 * file comment-wrapper.tpl.php
 * Default theme implementation to wrap comments.
 *
 * Available variables:
 * - $content: All comments for a given page. Also contains sorting controls
 *   and comment forms if the site is configured for it.
 *
 * The following variables are provided for contextual information.
 * - $node: Node object the comments are attached to.
 * The constants below the variables show the possible values and should be
 * used for comparison.
 * - $display_mode
 *   - COMMENT_MODE_FLAT_COLLAPSED
 *   - COMMENT_MODE_FLAT_EXPANDED
 *   - COMMENT_MODE_THREADED_COLLAPSED
 *   - COMMENT_MODE_THREADED_EXPANDED
 * - $display_order
 *   - COMMENT_ORDER_NEWEST_FIRST
 *   - COMMENT_ORDER_OLDEST_FIRST
 * - $comment_controls_state
 *   - COMMENT_CONTROLS_ABOVE
 *   - COMMENT_CONTROLS_BELOW
 *   - COMMENT_CONTROLS_ABOVE_BELOW
 *   - COMMENT_CONTROLS_HIDDEN
 *
 * see template_preprocess_comment_wrapper()
 * see theme_comment_wrapper()
 */

?>

<?php if ($content) : ?>
<div id="comments" class="block">
      <div class="comments-title">
      <h2 class="comments"><?php print t('Comments').'&nbsp;('.$node->comment_count.')'?></h2>
      </div>
      <?php print $content?>
</div>
<?php endif; ?>

PS. Жестоко вас обманул Lol
$node->comment - это нек количество комментариев а тип вывод комментов,
Щас покапаюсь может че нарою Smile

О нашел $node->comment_count

PPS: ну а если код изименить на следующий то можно получить и количество новых комментов


<?php if ($content) : 
if (
$new comment_num_new($node->nid)) {
$new_comments '/'.l(format_plural($new'1 new''count new'), 'node/'$node->nid, array('fragment' => 'new'));
}
?>

<div id="comments" class="block">
      <div class="comments-title">
      <h2 class="comments"><?php print t('Comments').'&nbsp;('.$node->comment_count.$new_comments.')'?></h2>
      </div>
      <?php print $content?>
</div>
<?php endif; ?>
Аватар пользователя aparfilov aparfilov 25 июня 2010 в 3:31

Объясните пожалуйста избалованному Вордпрессом. Это получается мы создаем как-бы блок с функцией вывода, я правильно понял? А как теперь этот блок вставить в нужное место?

Аватар пользователя iNFerNo iNFerNo 25 июня 2010 в 6:32

нет это вставляется в кое-какой файлик темы.

пи.эс. раньше работлал скрипт этот теперь не показывает. точнее показывает, но там еще вторые коментарии (слово само) болтается

как его убрать?

может я его сам прописал где-то...