Количество коментариев в блоге категории ( раздела ) joomla 1.5.x

Тема в разделе "JComments", создана пользователем accent-rus, 29.10.2009.

  1. Offline

    accent-rus Недавно здесь

    Регистрация:
    23.07.2008
    Сообщения:
    57
    Симпатии:
    3
    Пол:
    Мужской
    На сайте надо было сделать(в блоге категории) после названия
    вывод количества отзывов(комментариев) в статьи.

    На решение проблемы потратил некоторое время, так как информацию собирал на разных сайтах.

    и по этому решил создать еще одну тему

    вот нашел статью, где описано как вставлять количество комментариев на нужную страницу(компонент):
    http://www.joomlatune.ru/jcomments-developers-manual.html#jcomments_get_comments_count

    далее, так как в joomla 1.5.x немного другая структура(шаблонная)
    открываем файлы:
    \www\components\com_content\views\category\tmpl\blog_item.php
    \www\components\com_content\views\section\tmpl\blog_item.php

    это файлы вовода элемента блога категории и статьи, соответственно

    там есть код вывода имени материала(если надо, можно вставить и в другом месте)
    в данном примере это примерно 15 строчка

    тут и вставляем код вывода количества комментариев:
    ======================================================

    Код (PHP):
    1. <td class="contentheading
    2. <?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>
    3. " width="100%">
    4.         <?php if ($this->item->params->get('link_titles') && $this->item->readmore_link != '') : ?>
    5.         <a href="<?php echo $this->item->readmore_link; ?>" class="contentpagetitle
    6. <?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
    7.             <?php echo $this->escape($this->item->title); ?></a>
    8. /***************************************************************************/
    9.                 <?php
    10.                     global $mainframe;
    11.                       $comments = $mainframe->getCfg('absolute_path') . '/components/com_jcomments/jcomments.php';
    12.                       if (file_exists($comments))
    13.                       {
    14.                         require_once($comments);
    15.                         $count = JComments::getCommentsCount($this->item->id, 'com_content');
    16.                    
    17.                         echo 'Отзывов: ('. $count . ')';
    18.                       }
    19.                   ?>
    20. /***************************************************************************/
    21.         <?php else : ?>
    22.             <?php echo $this->escape($this->item->title); ?>
    23.         <?php endif; ?>
    24.     </td>
    25.     <?php endif; ?>



    как написано в примере:
    $this->item->id - идентификатор элемента
    com_content - название компонента где используется код

    вот и все :)
     
  2.  
  3. Offline

    accent-rus Недавно здесь

    Регистрация:
    23.07.2008
    Сообщения:
    57
    Симпатии:
    3
    Пол:
    Мужской
    Да и еще одно,
    если сделать таким способом, то количество будет выводится на всех блогах
    но часто комм. есть не на всех

    в этом случае добавляем пару строчек:
    Код (PHP):
    1. <?php
    2.     global $mainframe;
    3.      $comments = $mainframe->getCfg('absolute_path') . '/components/com_jcomments/jcomments.php';
    4.          if (file_exists($comments))
    5.         {
    6.             require_once($comments);
    7.             $count = JComments::getCommentsCount($this->item->id, 'com_content');
    8.            
    9. if ($count > 0){
    10.  
    11.                 echo 'Отзывов: ('. $count . ')';
    12.  
    13. }
    14.  
    15.         }
    16. ?>
     

Поделиться этой страницей

Загрузка...