Подсчет количества item в субкатегориях

Тема в разделе "PHP", создана пользователем qwertyvertyperty, 1 июл 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. qwertyvertyperty

    qwertyvertyperty Создатель

    Регистр.:
    8 ноя 2009
    Сообщения:
    47
    Симпатии:
    16
    Подскажите - не могу разобраться. У меня стоит компонент каталога joomla yootheme zoo 2.0. Я добавил туда категории примерно в такой иерархии:

    1. Категория ()
    1.1 субКатегория ()
    1.2 субКатегория ()
    1.3 субКатегория ()

    2. Категория ()
    2.1 субКатегория ()

    И начал размещать в них статьи. Но в чем проблема - счетчик, который считает количество статей в категории, считает только индивидуальные статьи, а мне нужно, чтобы он складывал значения счетчиков субкатегорий и выводил их в родительскую. Если я одну статью опубликую в 3-х субкатегориях, он должен вывести в главную категорию значение - 3, а не - 1. То есть так:

    1. Категория (15)
    1.1 субКатегория (3)
    1.2 субКатегория (7)
    1.2.1 суб Категория (2)
    1.2.2 суб Категория (5)
    1.3 субКатегория (5)

    2. Категория (4)
    2.1 субКатегория (4)

    Просмотрев код, обнаружил, что за подсчет количества статей отвечает функция countItems() -

    PHP:
    public function countItems() {
    if (!isset(
    $this->_total_item_count)) {
    $this->_total_item_count $this->_countCategoriesItems(array_merge(array((it)$this->id), array_keys($this->getChildren(true)))); }
    return 
    $this->_total_item_count; }
    PHP:
    public function countChildrensItems($exclude_self false) {
    if (!isset(
    $this->_childrens_item_count)) {
    $this->_childrens_item_count $this->_countCategoriesItems(array_keys($this->getChildren(true))); }
    return 
    $this->_childrens_item_count;    }
    PHP:
    private function _countCategoriesItems($categories) {
    return 
    YTable::getInstance('item')->getCategoryItemCount($this->application_id$categoriestrue);}
    Если нужны будут еще какие то фрагметы общего кода компонента, я их с удовольствием предоставлю.

    Кто сможет - помогите пожалуйста!
     
Статус темы:
Закрыта.